アイテムリストの GetImplementationSettings サービスの追加情報
このトピックでは、アイテムリストで使用できるカスタマイズサービスである GetImplementationSettings サービスについて説明します。このサービスは、通常、アイテムリストがフラットリストではなく構造ツリーにデータを表示する場合に使用されます。たとえば、アイテムリストの部品構造とドキュメント構造の両方の定義済みコンフィギュレーションでは、このサービスが使用されます。
さらに、selectedItems 入力バインドプロパティを有効にする場合は、このサービスを実装する必要があります。selectedItems プロパティを使用すると、アイテムリスト内のアイテムを事前選択できます。
GetImplementationSettings サービスには次の 3 つのプロパティを含めることができます。各プロパティにはアイテムごとに 1 つ以上の属性を指定できます。ただし、オブジェクトタイプごとに属性は 1 つだけです。
• itemIdentifierKeys
この必須キーには、各入力アイテムの、アイテム選択に使用可能な属性を指定します。selectedItems の入力でその他の属性を指定してもすべて無視されます。1 つ目に指定した属性のみが考慮され、その他の属性はすべて無視されます。
属性の値がアイテムごとに一意である場合、selectedItems を使用すると、1 つのアイテムのみが選択されます。一意でない場合、指定した属性の値を持つすべてのアイテムが選択されます。
• itemExpansionKeys
このオプションのキーは、アイテムリストに階層データが表示されている場合にのみ関連します。(デフォルトの展開レベルなどによって) 構造ツリーで最初に折りたたまれているアイテムを selectedItems を使用して選択した場合のアイテムの展開がサポートされています。itemExpansionKeys の属性は、その構造に存在しないアイテムを識別するために使用されます。これらの属性値は、アイテムの識別に使用されるので、アイテムごとに一意でなければなりません。
次のサービスのデフォルトの実装では
itemExpansionKeys:
GetChildren、
MapItemToInputObject、
GetItemsByExpansionPath、
GetStructureSkeleton が使用されます。詳細については、
アイテムリストのトピックの
カスタマイズサービスセクションを参照してください。
• hasChildrenKeys
このオプションのキーは、アイテムリストに階層データが表示されている場合にのみ関連します。
hasChildrenKeys には各アイテムの属性の名前が含まれており、この名前はそのアイテムにサブアイテムがあるかどうかを特定するために使用されます。アイテムにこの属性が存在しないか、この属性の値が false の場合、そのアイテムにはサブアイテムがないものと見なされます。
hasChildrenKeys が含まれていない場合、ツリー構造を表示するために、アイテムデータ CCO の各アイテムの
PTC.Nav.Descendants キーの下にアイテムセクションが存在することがサブアイテムのインジケータとして使用されます。詳細については、
Common Communication Object の構造を参照してください。
GetImplementationSettings のサンプルコード
部品構造アイテムを含むサンプル
1 つのオブジェクトタイプのアイテムのサンプルコード:
"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"
}
}
]
}
}
]
}
ドキュメント構造アイテムを含むサンプル
"implementationSettings":{
"..."
"itemIdentifierKeys":[
{
"selectedValues":{
"data":[
{
"itemListsData":[
{
"items":[
{
"id":"DocumentUseID",
"ordinal":0
}
],
"objectType":"PTC.DocMgmt.DocStructure"
}
],
"adapter":{
"instanceName":"windchill",
"thingName":"PTC.WCAdapter"
}
}
]
}
}
],
"hasChildrenKeys":[
{
"selectedValues":{
"data":[
{
"itemListsData":[
{
"items":[
{
"id":"HasChildren",
"ordinal":0
}
],
"objectType":"PTC.DocMgmt.DocStructure"
}
],
"adapter":{
"instanceName":"windchill",
"thingName":"PTC.WCAdapter"
}
}
]
}
}
],
"overrideItemsDataForExport":{
"value":false
}
}