高级自定义 > 业务逻辑自定义 > 自定义配置规范和筛选器 > 创建自定义配置规范 > 在自定义配置规范中创建对象参考选取器
  
在自定义配置规范中创建对象参考选取器
本节提供了有关如何在配置规范自定义中创建对象参考选取器的示例。
定义属性
要定义自定义属性,请执行以下步骤:
1. 在“类型管理器”中搜索“自定义配置规范”管理的类型。
2. 定义“对象参考”数据类型的新局部属性。在“设置特性”步骤中,为“另一方类”字段提供值,这是对象参考选取器所引用的类名称。例如,代表更改通告的 wt.change2.WTChangeOrder2 类。“另一方属性”特性用于定义选取器显示所依据的属性。例如,name
3. 将新建的属性添加到“编辑筛选器”布局中。
示例:JSP 选取器
以下是具有“对象参考”选取器的 JSP 代码示例。JSP 文件必须放置在 ExpansionCriteriaUI/src_web 模块和 netmarkets.jsp.ec 包中。
<%@ include file="/netmarkets/jsp/components/beginWizard.jspf"%>
<%@ taglib prefix="wctags" tagdir="/WEB-INF/tags" %>
<%@ taglib uri="http://www.ptc.com/windchill/taglib/fmt" prefix="fmt"%>

<% response.setContentType("text/html; charset=UTF-8"); %>
<script>
PTC.editfilter = {};
PTC.editfilter.customconfigspec = {};

PTC.editfilter.customconfigspec.setData = function(selectedDocuments) {

var csObjectReferenceOverlay = {}
csObjectReferenceOverlay.displayValue = selectedDocuments.pickedObject[0].name;
csObjectReferenceOverlay.objectId = selectedDocuments.pickedObject[0].oid;

opener.PTC.cat.setObjectReference(csObjectReferenceOverlay);
}

window.onunload = function() {
opener.PTC.cat.unlockEditFilterUi();
}</script>
<wctags:itemPicker
id="changeNoticePicker"
componentId="deliverableActivitySubjectsPicker"
objectType="wt.change2.WTChangeOrder2"
showTypePicker="false"
inline="true"
pickerTitle="<%= request.getParameter(\"title\") %>"
showWorkingCopy="true"
pickerCallback="PTC.editfilter.customconfigspec.setData"/>

<%@ include file="/netmarkets/jsp/util/end.jspf"%>
将 JSP 选取器与对象参考属性绑定
要将 JSP 页绑定到自定义配置规范类型中的相应属性,请在 actions.xml 文件中添加新的操作。例如:在 psb-actions.xml 中。新操作由外部 <objecttype> 元素和内部 <action> 元素组成。<objecttype> 名称属性点“对象参考”属性内部名称。<action> 名称属性为常数,且对于每个选取器,此名称属性必须为 CustomConfigSpecObjReferenceSearchPicker<command> URL 特性是 JSP 页面的 URL。URL 地址可以是绝对的,也可以是相对的,具体取决于 JSP 文件所在的位置。<moreurlinfo> 不是必需属性,但可用于传递选取器的高度和宽度。如果 <moreurlinfo> 属性不可用,则使用默认值:height=30,width=500。
以下示例包含 standardChangeNoticestandardChangeNotice2 属性:
<objecttype name="standardChangeNotice">
<action name="CustomConfigSpecObjReferenceSearchPicker">
<command url="netmarkets/jsp/ec/changeNoticePicker.jsp" />
<moreurlinfo>height=300,width=500</moreurlinfo>
<title>title1 </title>
</action>
</objecttype>
<objecttype name="standardChangeNotice2">
<action name="CustomConfigSpecObjReferenceSearchPicker">
<command url="netmarkets/jsp/ec/changeNoticePicker.jsp" />
<moreurlinfo>height=300,width=600</moreurlinfo>
<title>title2 </title>
</action>
</objecttype>
<title> 值和所有 <moreurlinfo> 值均作为路径参数传递至 JSP。例如,title=title1,height=300,width=500 将作为 standardChangeNotice 属性的路径参数进行传递。
实现 CustomConfigSpecDelegate
要实现新的 CustomConfigSpecDelegate,请参阅创建自定义配置规范,其中介绍了如何使用定制器提供的属性和逻辑将结构扩展到适当的版本。
结果
在配置“对象参考”选取器后,则可以在“编辑筛选器”布局中使用它。
选取器将在单独的窗口中打开。