針對項目清單啟用 selectedItems 輸入繫結內容
本主題描述如何針對項目清單啟用 selectedItems 輸入繫結內容。如果您要預先選取項目清單中的項目,或針對項目清單與另一個小器具之間的使用者啟用交互選取,此內容很有用。
欲啟用 selectedItems 輸入繫結內容,請在項目清單的自訂實行上實行 GetImplementationSettings 服務。
GetImplementationSettings 服務可以包含下列三個內容。只要每個物件類型只有一個屬性,則每個內容都可以為每個項目保留一或多個屬性。
itemIdentifierKeys
此必要鍵包含每個輸入項目上的屬性,其中輸入項目可用來選取項目。在 selectedItems 的輸入中提供的其他任何屬性都將被略過。只會考慮第一個指定的屬性;會略過其他任何屬性。
如果每個項目的屬性值具唯一性,則使用 selectedItems 時只會選取一個項目。如果屬性值不具唯一性,則會選取在該屬性上具有該值的所有項目。
itemExpansionKeys
只有當項目清單顯示階層資料時,此選用索引鍵才相關。當使用 selectedItems 選取摺疊項目時,它支援在結構樹中展開最初摺疊的項目 (例如,由於預設展開層級)。itemExpansionKeys 中的屬性可用來識別結構中遺失的任何項目。由於屬性值用來識別項目,因此每個項目的屬性值都應具唯一性。
下列服務的預設實行使用 itemExpansionKeysGetChildrenMapItemToInputObjectGetItemsByExpansionPathGetStructureSkeleton。如需詳細資訊,請參閱項目清單主題中的自訂服務部份。
hasChildrenKeys
只有當項目清單顯示階層資料時,此選用索引鍵才相關。hasChildrenKeys 包含用於確定該項目是否具有任何子項目之每個項目的屬性名稱。如果某項目遺失此屬性,或屬性的值為 false,則會假設該項目沒有子項目。如果未包括 hasChildrenKeys,則為了顯示樹狀結構,會將項目資料 CCO 上每個項目的 PTC.Nav.Descendants 索引鍵下的項目區段的目前狀態作為子項目的指示器使用。如需詳細資訊,請參閱 Common Communication Object 結構
GetImplementationSettings 的範例程式碼 
單一物件類型項目的範例程式碼:
"implementationSettings":{
...
"itemIdentifierKeys":[
{
"selectedValues":{
"data":[
{
"itemListsData":[
{
"items":[
{
"id":"PartUseId",
"ordinal":0
}
],
"objectType":"PTC.ProdMgmt.PartStructureItem"
}
],
"adapter":{
"instanceName":"windchill",
"thingName":"PTC.WCAdapter"
}
}
]
}
}
],
"itemExpansionKeys":[
{
"selectedValues":{
"data":[
{
"itemListsData":[
{
"items":[
{
"id":"PathId",
"ordinal":0
}
],
"objectType":"PTC.ProdMgmt.PartStructureItem"
}
],
"adapter":{
"instanceName":"windchill",
"thingName":"PTC.WCAdapter"
}
}
]
}
}
],
"hasChildrenKeys":[
{
"selectedValues":{
"data":[
{
"itemListsData":[
{
"items":[
{
"id":"HasChildren",
"ordinal":0
}
],
"objectType":"PTC.ProdMgmt.PartStructureItem"
}
],
"adapter":{
"instanceName":"windchill",
"thingName":"PTC.WCAdapter"
}
}
]
}
}
]
}
多個物件類型項目的範例程式碼:
"implementationSettings":{
...
"itemIdentifierKeys":[
{
"selectedValues":{
"data":[
{
"itemListsData":[
{
"items":[
{
"id":"PartUseId",
"ordinal":0
}
],
"objectType":"PTC.ProdMgmt.PartStructureItem"
}
],
"adapter":{
"instanceName":"windchill",
"thingName":"PTC.WCAdapter"
}
}
]
}
},
{
"selectedValues":{
"data":[
{
"itemListsData":[
{
"items":[
{
"id":"PVTreeId",
"ordinal":0
}
],
"objectType":"PTC.CADDocumentMgmt.CADStructure"
}
],
"adapter":{
"instanceName":"windchill",
"thingName":"PTC.WCAdapter"
}
}
]
}
}
],
"itemExpansionKeys":[
{
"selectedValues":{
"data":[
{
"itemListsData":[
{
"items":[
{
"id":"PathId",
"ordinal":0
}
],
"objectType":"PTC.ProdMgmt.PartStructureItem"
}
],
"adapter":{
"instanceName":"windchill",
"thingName":"PTC.WCAdapter"
}
}
]
}
},
{
"selectedValues":{
"data":[
{
"itemListsData":[
{
"items":[
{
"id":"PVTreeId",
"ordinal":0
}
],
"objectType":"PTC.CADDocumentMgmt.CADStructure"
}
],
"adapter":{
"instanceName":"windchill",
"thingName":"PTC.WCAdapter"
}
}
]
}
}
],
"hasChildrenKeys":[
{
"selectedValues":{
"data":[
{
"itemListsData":[
{
"items":[
{
"id":"HasChildren",
"ordinal":0
}
],
"objectType":"PTC.ProdMgmt.PartStructureItem"
}
],
"adapter":{
"instanceName":"windchill",
"thingName":"PTC.WCAdapter"
}
}
]
}
},
{
"selectedValues":{
"data":[
{
"itemListsData":[
{
"items":[
{
"id":"HasChildren",
"ordinal":0
}
],
"objectType":"PTC.CADDocumentMgmt.CADStructure"
}
],
"adapter":{
"instanceName":"windchill",
"thingName":"PTC.WCAdapter"
}
}
]
}
}
]
}
這是否有幫助?