Mashup Builder > Widgets > Widgets estándar > Widget de recopilación
Widget de recopilación
El widget de recopilación es un widget avanzado que permite contener una serie de mashups repetidos dentro de una recopilación. El widget de recopilación utiliza un servicio de infotable para definir dinámicamente contenido visual. El widget de recopilación es similar al widget de repetidor, pero contiene más propiedades que proporcionan más opciones y un mejor rendimiento. Se recomienda utilizar el widget de recopilación en lugar del widget de repetidor.
Características clave
Más de 60 propiedades que permiten el control detallado sobre el espaciado, el relleno, las cabeceras, los pies de página, las secciones, las animaciones y más.
Se incluye la capacidad de añadir datos dinámicos a cada celda.
Tiene un mejor rendimiento que el widget de repetidor. Para mejorar el uso de la memoria, el widget de recopilación almacena en caché una cantidad importante de información para la visualización. La navegación y el desplazamiento durante el tiempo de ejecución son más rápidos y fluidos que el widget de repetidor.
Hay dos vistas que se pueden utilizar en el widget de recopilación:
Diseño de flujo: ajuste dinámico, horizontal. Este diseño es el más similar al widget de repetidor.
Diseño de tabla: apilada en vertical, permite un mashup por fila.
Resumen de uso
MashupPropertyBinding es una propiedad importante del widget de recopilación. Se debe proporcionar una cadena JSON que asocie los nombres de campo de infotable con parámetros de mashup para que los datos se puedan pasar. Por ejemplo:
{
"events": "eventsName",
"min_temp": "minTemp",
"max_temp": "maxTemp",
"precipitation": "precipitation",
"image": "image",
"wind": "wind",
"sourceType": "sourceType",
"date": "date",
"week": "week",
"id": "rowId"
}
El elemento MashupGlobalPropertyBinding opcional proporciona una manera de añadir propiedades personalizadas que se definen para pasar datos variables que deben aparecer igual en todas las celdas de la recopilación, como el nombre del producto. Tome en consideración su utilización para los datos que, en otro caso, sería necesario que formaran parte del mashup contenido o que se pasaran de forma redundante a través del servicio para cada fila a través de MashupPropertyBinding.
MashupGlobalPropertyBinding utiliza el mismo formato JSON, pero cada entrada debe contener un nombre de propiedad único (definido por el usuario) como clave y un tipo base de ThingWorx como su valor (es decir, STRING, NUMBER, BOOLEAN). Cada entrada proporcionará una propiedad personalizada enlazable al widget de recopilación cuando se pulse el tabulador para salir del campo MashupGlobalPropertyBinding.
Relleno del widget con datos
Se puede configurar el widget de recopilación para que se pueda rellenar con mashups en el widget en tiempo de ejecución de una de las siguientes maneras:
Defina un mashup mediante la configuración de la propiedad en un nombre de mashup.
Cree un enlace a la propiedad de nombre Mashup.
Utilice un servicio para proporcionar un nombre de mashup para cada celda.
Defina un mashup que se muestre cuando se seleccione una celda o cuando esté vacía.
La propiedad ItemLoadBehavior permite especificar cómo se cargan los datos. Por defecto, la propiedad se define en Cargar/Descargar, lo que permite cargar datos solo para los elementos visibles dentro de la recopilación. La utilización de esta opción para mashups que utilizan el evento OnLoad puede dar lugar a un elevado número de llamadas al servidor en un momento dado. Esto puede provocar problemas de rendimiento que se pueden mejorar cargando todos los datos cuando el widget se carga inicialmente en tiempo de ejecución. Para cargar datos para todos los elementos, defina la propiedad en la opción Cargar todo.
* 
Evite ejecutar servicios en cada celda de mashup de recopilación. La ejecución de varios servicios repetidamente para cada celda de una recopilación requiere un número significativo de solicitudes de red. Todos los servicios del mashup de recopilación se ejecutan repetidamente cuando se inicializa el mashup padre, lo que puede provocar problemas significativos de rendimiento a medida que se carga cada celda. Para evitar problemas de rendimiento, ejecute los servicios de datos en el mashup padre y, a continuación, pase los datos a los mashups contenidos mediante los parámetros de mashup y la propiedad MashupPropertyBinding. Para obtener más información sobre el trabajo con parámetros, consulte el tema Configuración de los parámetros de mashup.
Limitaciones conocidas del explorador
El widget de recopilación se ejecuta y carga con más rapidez en Chrome y Firefox. Funciona correctamente en Edge. Los tiempos de carga son más largos y el rendimiento es más lento en Internet Explorer 11.
Propiedades
Para obtener información sobre propiedades de widget comunes, consulte Widgets. En la siguiente tabla se describen las propiedades que son específicas del widget de recopilación.
Nombre de la propiedad
Descripción
Tipo base
Valor por defecto
¿Es enlazable? (Sí/No)
¿Es localizable? (Sí/No)
Data
Representa el origen de datos del widget.
* 
La infotable debe contener un ID exclusivo.
INFOTABLE
n/d
S
No
ItemLoadBehavior
Permite especificar cómo se cargan los datos para los elementos dentro del widget de recopilación. Se puede seleccionar una de las siguientes opciones:
Cargar/Descargar: permite cargar datos mientras el usuario de desplaza o cambia el tamaño de la página del explorador en una recopilación. Se descargan los datos para los elementos que no están visibles.
* 
La carga de datos mediante el evento OnLoad de un mashup puede provocar problemas de rendimiento cuando se selecciona esta opción.
Cargar todo: permite cargar datos para todos los elementos dentro del widget.
STRING
Cargar/Descargar
No
No
View
Tipos de diseño. Las opciones son Flow y Table. El flujo es dinámico y la tabla es similar a una rejilla, lo que permite un mashup por fila.
STRING
Flujo
S
No
Mashup
El mashup que se utilizará para los elementos de datos.
MASHUPNAME
n/d
S
No
MashupHeight
La altura de celda por defecto.
INTEGER
120
No
No
MashupWidth
El ancho de celda por defecto.
INTEGER
400
No
No
UIDField
Representa el identificador exclusivo de un elemento de recopilación. Debe ser del tipo base NUMBER para obtener los mejores resultados en la clasificación. Puede ser cualquier tipo de campo que identifique de manera exclusiva un elemento. Cuando se utilice un servicio existente, si un campo tiene seleccionado el aspecto Es clave principal, se debe utilizar para UIDField. Si no se ha definido una clave principal, se debe considerar la posibilidad de utilizar un servicio para combinar una infotable existente en una nueva que incluya un campo con un GUID o tipo base NUMBER definido como clave principal. Esto también puede requerir la adición de una definición de datos que incluya el campo GUID.
INFOTABLE
n/d
No
No
SortField
Si se define o enlaza, se identifica el campo de la infotable (como se especifica en la propiedad Data) por el que se clasifica el contenido de la sección. La clasificación se realiza en el cliente y no afecta a la infotable de origen ni a otros widgets enlazados al conjunto de datos. Esta opción no es obligatoria, pero no hay ninguna garantía de que un servicio devolverá las filas en un orden determinado siempre. Considere configurar esto en el mismo campo que UIDField.
INFOTABLE
n/d
S
No
SortAscending
Se utiliza con SortField. Cuando se activa, la clasificación se realizará en orden ascendente, de lo contrario, en orden descendente.
BOOLEAN
n/d
S
No
SectionField
Opcional. Representa el identificador de sección por el que se van a agrupar los elementos. Si se define, los elementos se agruparán en secciones. Hay soporte para una sección solo. Una sección agrupará filas con un valor común que se encuentre en SectionField. Por ejemplo, se puede utilizar para agrupar filas que contienen un campo de número de semana en secciones de semana. Después, se puede utilizar la cabecera y el pie de página para mostrar dónde empieza y finaliza la semana.
INFOTABLE
n/d
No
No
SectionInsetLeft
Si se utilizan secciones, es una manera de aplicar una sangría o separar visualmente el contenido a la izquierda.
INTEGER
0
No
No
SectionInsetTop
Si se utilizan secciones, es una manera de aplicar una sangría o separar visualmente el contenido de la sección en la parte superior.
INTEGER
0
No
No
SectionInsetRight
Si se utilizan secciones, es una manera de aplicar una sangría o separar visualmente el contenido de la sección a la derecha.
INTEGER
0
No
No
SectionInsetBottom
Si se utilizan secciones, es una manera de aplicar una sangría o separar visualmente el contenido de la sección en la parte inferior.
INTEGER
0
No
No
LeftAlignFinalRow
Si se activa, la línea final de cada sección se alineará a la izquierda en lugar de en el centro.
BOOLEAN
n/d
No
No
FlowLayoutGravity
Permite controlar cómo fluirán las celdas en su fila.
Las opciones son: Periferia, Espaciado, Centro o Expandir.
Periferia: las celdas se alinearán con el lado más cercano que los contiene; de lo contrario, se conservará el espaciado uniforme entre ellas.
Espaciado: las celdas conservarán un espaciado uniforme entre ellas y los lados del widget que las contienen.
Centro: las celdas se centrarán dentro del ancho disponible y se mostrará el número máximo de celdas que quepa en cada fila.
Expandir: las celdas se expandirán para rellenar el ancho disponible, incluso más allá de la configuración de la propiedad MashupWidth.
STRING
n/d
No
No
FlowLayoutAlignment
Se debe utilizar con el diseño de flujo. Permite controlar cómo se alinearán las celdas verticalmente en su fila.
Esta propiedad es útil para controlar la alineación vertical cuando varían las alturas de celda. Esto se puede esperar al obtener las alturas de celda de un servicio a través de la propiedad CellHeightField o al utilizar la propiedad MashupNameField y configurar la propiedad UseMashupDimensions en true.
Superior: se alinean las celdas adyacentes con la parte superior de la fila.
Centro: se alinean las celdas adyacentes con el centro de la fila.
Abajo: se alinean las celdas adyacentes con la parte inferior de la fila.
Expandir: se ajusta la altura de las celdas adyacentes para que coincida con la celda más alta.
STRING
Centro
No
No
FlowLayoutContentGravity
Se debe utilizar con el diseño de flujo. Permite controlar cómo se alinea el contenido verticalmente dentro de la vista de recopilación cuando su tamaño es menor que la vista de recopilación.
Las opciones disponibles son Arriba, Centro y Abajo.
Superior: se rellenará el espacio de las celdas empezando en la parte superior.
Centro: se rellenará el espacio de las celdas empezando en el centro vertical.
Abajo: se rellenará el espacio de las celdas empezando en la parte inferior.
STRING
n/d
No
No
RowSpacing
Permite controlar el espacio entre las cabeceras, las filas y los pies de página.
INTEGER
44
No
No
MinimumSpacing
Permite controlar la cantidad mínima de espaciado horizontal entre las celdas.
TopPadding
Permite controlar el relleno del margen superior y el primer elemento.
INTEGER
22
No
No
BottomPadding
Permite controlar el relleno del margen inferior y el último elemento.
INTEGER
22
No
No
MashupNameField
Se proporciona un nombre de mashup que se utilizará para los elementos de datos. Si se define, esta propiedad reemplaza las selecciones de Mashup y SelectedFieldMashup.
PinHeadersToTop
Si se activa, la cabecera de sección visible actualmente se anclará al borde superior del widget cuando se desplace por su contenido.
BOOLEAN
n/d
No
No
PinFootersToBottom
Si se activa, el pie de página de sección visible actualmente se anclará al borde inferior del widget cuando el usuario se desplace por su contenido.
BOOLEAN
n/d
No
No
MashupPropertyBinding
Una cadena JSON que asocia nombres de campo de infotable con parámetros de mashup. Cada nombre de clave debe ser un campo de infotable utilizado para proporcionar datos a cada mashup contenido. Cada valor debe ser el nombre de un parámetro de mashup correspondiente enlazado a un widget de mashup contenido en el widget de recopilación.
* 
Utilice un editor de texto para copiar y pegar la cadena JSON a fin de evitar la adición de formato innecesario.
STRING
n/d
No
No
MashupGlobalPropertyBinding
Opcional. Una cadena JSON que se utiliza para crear una propiedad personalizada enlazable. Esta propiedad es útil para enlazar dinámicamente los datos que deben ser iguales en cada mashup contenido, como el nombre de producto, el indicador de estado global, etc. Cada nombre de clave puede ser cualquier nombre de propiedad válido que desee añadir al widget. Cada valor debe ser un tipo de datos que se asignará a la propiedad cuando se añada, es decir, "STRING", "NUMBER", "BOOLEAN". La propiedad se añadirá al widget en cuanto se pulse el tabulador para salir de la propiedad MashupGlobalPropertyBinding y se valide. Desplácese hacia abajo en la ventana de propiedades o escriba su nombre en el filtro de propiedades. Puede utilizarse para enlazar datos a la propiedad personalizada a fin de pasarlos a un parámetro de mashup del mashup contenido en el widget.
STRING
n/d
No
No
CellWidthField
El campo para definir el ancho por defecto de las celdas desde un servicio. Los valores sustituyen CellWidth.
CellHeightField
El campo para definir la altura por defecto de las celdas de un servicio. Los valores sustituyen CellHeight.
CellMashupSelectedField
Opcional. Si se especifica, representa el parámetro de mashup que recibirá el estado seleccionado del objeto al que está enlazado. De este modo, se proporciona una manera de identificar un campo de infotable que se utiliza para proporcionar el estado de selección de cada celda en el widget.
STRING
n/d
No
No
UseMashupDimensions
Opcional. Se debe utilizar con la propiedad MashupNameField y mashups estáticos de celda. Coincidirá el tamaño de celda con el mashup que contiene.
AllowSelection
Si se activa, las celdas se pueden seleccionar. De lo contrario, las celdas no se podrán seleccionar mediante este widget de recopilación.
BOOLEAN
n/d
No
No
MultiSelect
Permite la selección múltiple. Las selecciones múltiples en el widget de recopilación no requieren CTRL + click o SHIFT + click. Pulse en las celdas para seleccionar todas las que sean necesarias y pulse en ellas para anular su selección. No hay soporte para la selección de rango mediante ratón.
BOOLEAN
n/d
No
No
HasSelectedCells
Se definirá en verdadero siempre que se haya seleccionado al menos una celda en este widget de recopilación.
BOOLEAN
falso
No
SelectedCellsCount
Contiene el número de celdas seleccionadas en la vista de recopilación.
INTEGER
0
No
ScrollsToSelectedCell
Permite que los cambios de selección hagan que la recopilación se desplace a la primera celda seleccionada.
BOOLEAN
n/d
No
No
AutoSelectFirstCell
Cuando se actualicen los datos y no se haya seleccionado ninguna otra celda, el widget de recopilación seleccionará automáticamente la primera celda disponible.
BOOLEAN
n/d
No
No
SelectedItems
Permite proporcionar un enlace para definir las celdas seleccionadas actualmente desde un servicio. La selección más reciente en una sección múltiple se actualizará en la recopilación.
INFOTABLE
n/d
S
No
SelectedMashupName
Opcional. Sustituye CellSelectedStyle, si se ha definido. Permite definir un mashup que reemplazará el que se ha definido en las propiedades Mashup o MashupFieldName cuando se selecciona una celda en tiempo de ejecución. En la mayoría de los casos, SelectedMashup debería tener las mismas cotas que el mashup por defecto. También puede tener algunos, todos o más parámetros de mashup que el mashup por defecto. Un caso de uso de esta capacidad sería proporcionar una vista más detallada de los datos cuando se selecciona la celda o mostrar opciones adicionales de selección o filtrado para los datos presentados.
MASHUPNAME
n/d
No
No
HandleSelectionUpdates
Si se activa, la recopilación recibirá y transmitirá las actualizaciones de selección a su servicio de datos. Esto cambia la forma habitual en que los widgets de datos que comparten un servicio común en un mashup actualizan las selecciones de otros. Por ejemplo, cuando se pulsa en una fila de la rejilla y se realza un punto del gráfico que está enlazado al mismo servicio.
BOOLEAN
n/d
No
No
CellStyle
Permite controlar el fondo de las celdas. Solo se utiliza la propiedad de color de fondo del estilo.
STYLE
n/d
No
No
CellAlternateStyle
Permite controlar el fondo alternativo de las celdas. Solo se utiliza la propiedad de color de fondo del estilo.
Todas las celdas utilizarán el color de fondo de CellStyle si no se define ningún color de fondo de CellAlternateStyle.
STYLE
n/d
No
No
CellSelectedStyle
Permite controlar el color de fondo de las celdas seleccionadas. Solo se utiliza la propiedad de color de fondo del estilo.
STYLE
n/d
No
No
CellHoverStyle
Permite controlar el color de fondo de las celdas al pasar por encima de ellas. Solo se utiliza la propiedad de color de fondo del estilo.
STYLE
n/d
No
No
CellActiveStyle
Permite controlar el color de fondo de las celdas cuando se seleccionan. Solo se utiliza la propiedad de color de fondo del estilo.
STYLE
n/d
No
No
RippleEffectStyle
Se debe utilizar con la propiedad UseRippleEffect. Se utiliza solo la propiedad de color de fondo de este estilo, que se aplicará al efecto en cadena de animación.
STYLE
n/d
No
No
UseRippleEffect
Si se activa, se utiliza un efecto en cadena de animación al pulsar en las celdas. La utilización de esta opción hará que las celdas tengan la propiedad de sobrecarga definida en oculta. El efecto en cadena solo está visible en las partes de la celda que no contienen un mashup con un color de fondo (deben definirse en transparente).
BOOLEAN
n/d
No
No
CellBorderRadius
Un radio de borde opcional que se aplicará a las celdas. Si este valor se define en una cadena que no está vacía, por ejemplo, 12px, las celdas tendrán su propiedad de sobrecarga definida en oculta.
STRING
n/d
No
No
CellBoxShadow
Si se define en una cadena que no está vacía, se utilizará como sombra de cuadro para las celdas. Las cotas de configuración de sombra siguen la especificación y la sintaxis de especificación de sombra de cuadro CSS:
box-shadow: none|h-offset v-offset blur spread color |inset|initial|inherit;
Las cotas de sombra se deben considerar en relación con las propiedades de espaciado para evitar que las sombras se solapen con las celdas adyacentes.
* 
No se recomienda usar las opciones de configuración de CSS de recuadro, inicial y heredadas.
STRING
n/d
No
No
CellPointer
Opcional. Permite definir explícitamente el aspecto visual del puntero del ratón al pasar el ratón sobre las celdas, en lugar de depender del comportamiento por defecto del cursor del explorador.
STRING
Automático
No
No
CellMenuStates
Opcional. Permite proporcionar un menú accesible al pulsar el botón derecho en las celdas. Las selecciones de menú se definen mediante la definición de estado seleccionada en esta propiedad. Se puede utilizar para proporcionar navegación a otros mashups.
STATEDEFINITION
DefaultMenuStates
No
No
CellMenuStatesIconSize
Se debe utilizar con la propiedad CellMenuStates. Los iconos de menú se definirán en este tamaño. El valor máximo es 64.
INTEGER
n/d
No
No
CellMenuStatesIconGravity
Se debe utilizar con la propiedad CellMenuStates. Permite controlar cómo se ancla el icono al texto en la entrada del menú. Las opciones son izquierda, arriba, derecha y abajo.
STRING
n/d
No
No
CellMenuStatesOrientation
Se debe utilizar con la propiedad CellMenuStates. Permite controlar cómo se disponen las entradas del menú. Las opciones son horizontal o vertical.
STRING
n/d
No
No
ShowHeaders
Si se activan y utilizan secciones, cada sección tendrá una cabecera.
BOOLEAN
n/d
No
No
HeaderMashupName
El mashup que se debe utilizar para las cabeceras; se debe utilizar con las propiedades SectionField y ShowHeaders. El mashup de cabecera debe ser dinámico para evitar problemas con el ajuste en diseños que no muestran barras de desplazamiento.
MASHUPNAME
n/d
No
No
HeaderSectionParam
Un parámetro de mashup, que debe definirse en el mashup de cabecera, para recibir el valor desde el campo de sección del widget de recopilación definido en la propiedad SectionField.
STRING
n/d
No
No
HeaderHeight
La altura del mashup de cabecera.
INTEGER
44
No
No
ShowFooters
Si se activan y utilizan secciones, cada sección tendrá un pie de página.
BOOLEAN
n/d
No
No
FooterMashupName
El mashup que se utilizará para los pies de página. Se debe utilizar con las propiedades SectionField y ShowFooters. El mashup de pie de página debe ser dinámico para evitar problemas con el ajuste en diseños que no muestran barras de desplazamiento.
MASHUPNAME
n/d
No
No
FooterSectionParam
El parámetro de mashup que recibirá el identificador de sección.
STRING
n/d
No
No
FooterHeight
La altura del mashup de pie de página. Se debe utilizar con las propiedades SectionField y ShowFooters.
INTEGER
44
No
No
EmptyMashupName
Si se especifica, este mashup se mostrará cuando el conjunto de datos esté vacío. Esto puede ocurrir cuando se utiliza un widget de filtro de fechas con el servicio que se utiliza para rellenar el widget de recopilación. Se puede utilizar para mostrar un mashup que contenga el mensaje "No hay resultados".
MASHUPNAME
n/d
No
No
PlaysIntroAnimation
Permite una animación de transición de "deslizamiento" de las celdas después de cargar los datos.
BOOLEAN
n/d
No
No
Deselect
Se anulará la selección de todas las filas de su conjunto de datos en la recopilación, cuando se invoca.
n/d
S
No
SelectAll
Se seleccionarán de todas las filas de su conjunto de datos en la recopilación, cuando se invoca.
n/d
S
No
Eventos
CellMenuStates: la propiedad CellMenuStates añadirá un evento para cada estado en el elemento StateDefinition añadido al widget de recopilación. El nombre de cada evento corresponderá al nombre de cada estado.
CellWasClicked: se activa cuando se pulsa en cualquier celda.
CellWasRightClicked: se activa cuando se pulsa con el botón derecho.
CellWasDoubleClicked: se activa cuando se pulsa dos veces en cualquier celda.
CellWasLongClicked: se activa cuando se realiza una pulsación larga en cualquier celda.
MashupPropertyBinding: la clave de cada entrada en la propiedad MashupPropertyBinding generará una propiedad de enlace de origen en el widget de recopilación. Se pueden utilizar para enlazar los datos de nivel de celda del widget de recopilación a otros widgets de un mashup cuando se pulsa en una celda.
¿Fue esto útil?