WindChill基础(3)部件在创建时名称可下拉选择,名称为所在文件夹名+“名称1“、文件夹名+“名称2、文件夹名+“名称3
发布时间
阅读量:
阅读量
1、将ComboBoxDataUtility.class放在对应的文件夹下
ComboBoxDataUtility.java编写
package com.catl.part.filter;
import com.ptc.core.components.descriptor.ModelContext;
import com.ptc.core.components.factory.dataUtilities.AttributeDataUtilityHelper;
import com.ptc.core.components.factory.dataUtilities.DefaultDataUtility;
import com.ptc.core.components.rendering.guicomponents.ComboBox;
import com.ptc.core.components.rendering.guicomponents.GUIComponentArray;
import com.ptc.netmarkets.model.NmOid;
import com.ptc.netmarkets.util.beans.NmCommandBean;
import wt.fc.WTObject;
import wt.folder.Folder;
import wt.util.WTException;
import java.util.ArrayList;
public class ComboBoxDataUtility extends DefaultDataUtility {
@Override
public Object getDataValue(String componentId, Object datum, ModelContext modelContext) throws WTException {
GUIComponentArray array = new GUIComponentArray();
ComboBox comboBox = new ComboBox();
NmCommandBean nmCommandBean = modelContext.getNmCommandBean();
NmOid nmOid = nmCommandBean.getActionOid();
WTObject object = (WTObject) nmOid.getRefObject();
String folderName = "";
if (object instanceof Folder) {
Folder folder = (Folder) object;
if (!"/Default".equals(folder.getFolderPath())) {
folderName = folder.getName();
}
}
ArrayList<String> list = new ArrayList<>();
list.add(folderName + "名称1");
list.add(folderName + "名称2");
list.add(folderName + "名称3");
String columnName = AttributeDataUtilityHelper.getColumnName(componentId,datum,modelContext);
comboBox.setId(componentId);
comboBox.setColumnName(columnName);
comboBox.setInternalValues(list);
comboBox.setValues(list);
comboBox.setRequired(true);
comboBox.setEnabled(true);
array.addGUIComponent(comboBox);
return array;
}
}
2、打开Administrator-站点-实用程序-类型和属性管理-管理可重用属性,在根下方”新建属性组织器“(测试01),然后右键测试01选择”新建可重用属性“
3、新建可重用属性中,数据类型选择“字符串”,显示名称(test01)

4、选择“管理类型”,部件-(test01)(随便选择一个)-编辑-新建属性
5、新建属性中,”内部名称“(TEST01)(这个自己命名),“类型”选择全局,
“选择可重用属性”绑定之前所创建的(test01),最后“设置特性”中,”默认值显示模式“选择“无”,“输入字段类型”选择多行,“选项列表样式”选择下拉,完成





6、布局,选择Create New Layout,找到刚才新建的属性(TEST01),
"编辑组属性特性“,翻到最下面有个”数据实用程序ID“,将第一步的文件名放入,不用加后缀,ComboBoxDataUtility即可



7 打开E:\ptc\Windchill_11.0\Windchill\codebase\custom-service.properties.xconf,
复制
custom-service.properties.xconf配置
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE Configuration SYSTEM "xconf.dtd">
<Configuration targetFile="codebase/service.properties">
<!-- -*-!-*-!-*-!-*-!-*-!-*-!-*-!-*-!-*-!-*-!-*-!-*-!-*-!-*-!-*-!-*-!-*-!-*-!-*-!-*-
WARNING: Do not modify this file after it has been installed. Use xconfmanager
to set, reset, or undefine properties for your installation
-*-!-*-!-*-!-*-!-*-!-*-!-*-!-*-!-*-!-*-!-*-!-*-!-*-!-*-!-*-!-*-!-*-!-*-!-*-!-*- -->
<Service context="default" name="com.ptc.core.components.descriptor.DataUtility">
<Option serviceClass="com.catl.part.fillter.ComboBoxDataUtility" selector="PartNameComboBoxDataUtility" requestor="java.lang.Object" cardinality="duplicate" />
</Service>
<!-- -*-!-*-!-*-!-*-!-*-!-*-!-*-!-*-!-*-!-*-!-*-!-*-!-*-!-*-!-*-!-*-!-*-!-*-!-*-!-*-
WARNING: Do not modify this file after it has been installed. Use xconfmanager
to set, reset, or undefine properties for your installation
-*-!-*-!-*-!-*-!-*-!-*-!-*-!-*-!-*-!-*-!-*-!-*-!-*-!-*-!-*-!-*-!-*-!-*-!-*-!-*- -->
</Configuration>
8、编写完所有的代码记得保存,在Windchill Shell中输入xconfmanager-p,完成后重启即可
9、效果图

全部评论 (0)
还没有任何评论哟~
