Activación de la propiedad de enlace de entrada selectedItems para Lista de elementos
En este tema se describe cómo activar la propiedad de enlace de entrada selectedItems para Lista de elementos. La propiedad es útil si desea preseleccionar un elemento de la Lista de elementos o activar la selección cruzada para los usuarios entre la Lista de elementos y otro widget.
Para activar la propiedad de enlace de entrada selectedItems, implemente el servicio GetImplementationSettings en la implementación personalizada de la Lista de elementos.
El servicio GetImplementationSettings puede contener las tres propiedades siguientes. Cada propiedad puede contener uno o más atributos por elemento, siempre y cuando solo haya un atributo por tipo de objeto.
itemIdentifierKeys
Esta clave obligatoria contiene el atributo, en cada elemento de entrada, con el que se puede seleccionar el elemento. Cualquier otro atributo especificado en la entrada de selectedItems se desestimará. Solo se considera el primer atributo especificado; se desestima cualquier atributo adicional.
Si los valores del atributo son únicos para cada elemento, al utilizar selectedItems, solo se selecciona un único elemento. Si no es único, se seleccionan todos los elementos con ese valor en ese atributo.
itemExpansionKeys
Esta clave opcional solo es pertinente cuando la Lista de elementos muestra datos jerárquicos. Soporta la expansión de elementos que se han contraído inicialmente (por ejemplo, debido a un nivel de expansión por defecto) en el árbol de estructura cuando se selecciona un elemento contraído mediante selectedItems. Los atributos en itemExpansionKeys se utilizan para identificar cualquier elemento que falte en la estructura. Puesto que los valores de atributo se utilizan para identificar elementos, los valores de atributo deben ser únicos para cada elemento.
La implementación por defecto de los siguientes servicios utiliza itemExpansionKeys: GetChildren, MapItemToInputObject, GetItemsByExpansionPath, GetStructureSkeleton. Para obtener más información, consulte la sección Servicios de personalización del tema Lista de elementos.
hasChildrenKeys
Esta clave opcional solo es pertinente cuando la Lista de elementos muestra datos jerárquicos. hasChildrenKeys contiene el nombre del atributo de cada elemento que se utiliza para determinar si el elemento tiene subelementos. Si falta este atributo para un elemento, o el valor del atributo es falso, se supone que el elemento no tiene subelementos. Si no se incluye hasChildrenKeys, para mostrar una estructura de árbol, la presencia de una sección de elementos bajo la clave PTC.Nav.Descendants en cada elemento del CCO de datos de elementos se utiliza como el indicador de subelementos. Para obtener más información, consulte Estructura de objeto de comunicación común.
Código de ejemplo para GetImplementationSettings 
Código de ejemplo para elementos de un solo tipo de objeto:
"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"
}
}
]
}
}
]
}
Código de ejemplo para elementos de varios tipos de objeto:
"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"
}
}
]
}
}
]
}
¿Fue esto útil?