Windchill 11文件夹选择组件使用记

使用的是windchill 11.0

​ 因工作需要,需要在自定义的软属性上使用文件夹选择组件,之前都没有使用过此组件,所以经过很长时间的研究终于成功使用了,所以记录下方法,以供需要的人以参考。此方法可能不是最好的实现方式,若有更好的方式也欢迎评论留言。下面具体介绍下使用方法

  1. 为软属性配置datautility(具体操作不详述),dataUtility返回LocationInputComponent,并增加onchange事件

    LocationInputComponent locationInputComponent = new LocationInputComponent(
                            valueInputComponent.getLabel(),
                            preGeneratedFolder, // 默认显示的文件夹OID,不能为空
                            oldDisplayValue,  // 显示值,这里是文件夹路径,如:/xxx库/测试1
                            preSelectedContext // 默认文件夹所属容器OID,不能为空。
                    );
                    locationInputComponent.addHiddenField("selectedFolderFromFolderContext", preGeneratedFolder);  // 添加隐藏字段,key必须为 selectedFolderFromFolderContext
                    locationInputComponent.setId(valueInputComponent.getId());
                    locationInputComponent.setName(valueInputComponent.getName());
                    locationInputComponent.setColumnName(valueInputComponent.getColumnName());
                    locationInputComponent.setRequired(true);
                    locationInputComponent.getLocationTextBox().addJsAction("onchange", "javascript:setTargetLocValue(this)"); // 增加此方法用于将选择的文件夹赋值到当前组件上,不然无法使用 --可能有更好的方式
    
  2. 在对应的jsp页面上提供setTargetLocValue方法

    // 将selectedFolderFromFolderContext 组件上的值 复制到其兄弟组件(排除type为text ---此为显示目录路径的组件,不需要赋其他值,否则显示有问题)
    function setTargetLocValue(thisTarget){
            var newValue = thisTarget.parentNode.querySelector('input[name="selectedFolderFromFolderContext"]').value;
            thisTarget.parentNode.querySelectorAll('input').forEach(el=>{
                if(el.getAttribute("type") != 'text'){
                    el.value = newValue
                }
            });
        }
    

    以上两步即可正常使用LocationInputComponent组件。当然对应属性的显示也应该使用dataUtility处理下,否则显示的是文件夹的OID(也不在此详述)。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

蜗牛_snail

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值