Mashup Builder > Widgets > Widgets estándar > Widget de rejilla > Configuración de la selección de datos
Configuración de la selección de datos
La rejilla soporta los modos de selección de una o varias filas en función de la configuración de la propiedad de widget RowSelection. Por defecto, la selección de filas está desactivada. Se pueden pasar las filas de datos seleccionadas a otros widgets o servicios de datos en un mashup mediante las propiedades de widget SelectedRows y LastClickedRow. Por ejemplo, se pueden pasar filas de datos para mostrarlas en un widget de gráfico de líneas. Las propiedades también se pueden utilizar como entrada para un servicio de datos. La selección se puede configurar en el panel Propiedades del widget de rejilla en fase de diseño. La rejilla soporta la selección única mediante pulsaciones directas o la selección múltiple mediante una columna de selección de filas.
Sin selección (por defecto)
Por defecto, la selección de datos en el widget de rejilla está desactivada y solo se indica un estado de pasar por encima cuando un usuario pulsa en una fila para seleccionarla.
Selección de una sola fila
Utilice la selección única para permitir a los usuarios seleccionar una fila en la rejilla. Para seleccionar una fila, pulse en cualquier celda de la fila. Las filas seleccionadas se realzan con un color específico. Este color se puede cambiar en las propiedades de estilo de rejilla o mediante el tema de estilo. La fila seleccionada se almacena en la propiedad de widget SelectedRows como una infotable.
* 
En la propiedad SelectedRows se incluyen los datos de las columnas excluidas de la rejilla.
Selección de varias filas
Cuando se activa la selección múltiple, se añade una columna de selección a la izquierda de los datos de la rejilla. Se puede utilizar la casilla de la fila de cabecera para seleccionar todos los datos de la rejilla o cualquier casilla junto a una fila para seleccionar filas individuales. Para clasificar los datos de la rejilla por el estado de selección, pulse en el botón de clasificación de la cabecera de columna.
Preselección de filas
Se puede especificar qué filas de datos de la rejilla se seleccionan por defecto cuando la rejilla se muestra en tiempo de ejecución mediante una de las dos propiedades de widget:
DefaultSelectedRows: permite preseleccionar filas de datos en la rejilla escribiendo o enlazando un valor que especifica un rango, como 2–5, o una lista de números separados por comas, como 2,3,6. Esta propiedad no se aplica a la rejilla de árbol.
SelectedRows: permite preseleccionar datos pasando una infotable con las filas de datos que se deben seleccionar. Por ejemplo, se puede pasar la propiedad de salida Filas seleccionadas de un servicio de datos para un gráfico de barras a la propiedad de entrada SelectedRows de un widget de rejilla. Las selecciones del gráfico se realzan en la rejilla.
* 
Estas propiedades no afectan a la selección cuando la propiedad RowSelection se define en Ninguna. Para seleccionar una o varias filas, la propiedad RowSelection se debe definir en Única o Varias.
En ThingWorx 9.3.4 y versiones posteriores, se puede configurar la selección en la rejilla de árbol mediante las siguientes propiedades:
SelectFocuedItem: permite seleccionar las filas o celdas enfocadas automáticamente cuando se mueve el cuadro de enfoque. La propiedad FocusNavigationMode se puede utilizar para configurar el elemento en el que se debe centrar al mover el cuadro de enfoque.
IDPathSeperator: permite definir el carácter especial que se debe utilizar al seleccionar las filas que se cargan dinámicamente. Se puede proporcionar una ruta de ID a una fila bajo la columna id. El separador por defecto es :;
Selección de filas cargadas dinámicamente en la rejilla del árbol
Para expandir y seleccionar filas de una rejilla de árbol que aún no están cargadas en el cliente, se debe proporcionar una infotable con al menos una columna de ID indicada por la propiedad IDFieldName que contiene la ruta completa de los ID de fila a la fila seleccionada. Por defecto, la combinación de caracteres IDPathSeparator se utiliza como separador de ruta, pero se puede cambiar definiendo la propiedad :; en Mashup Builder o en el fichero de configuración JSON.
Por ejemplo, para seleccionar una fila con el ID ddd, se debe crear una infotable con una columna con el valor de ID:
//aaa:;bbb:;ccc:;ddd.
Por defecto, solo el ID del hijo se transfiere a la infotable SelectedRows cuando se selecciona una fila hijo. Para incluir la ruta completa del ID de un hijo seleccionado, defina la propiedad IncludeRowExpansionParents en verdadero. Cuando la infotable de las filas seleccionadas se envía a la rejilla y aún no se ha cargado una fila de la lista, la rejilla de árbol genera automáticamente una solicitud al servicio de datos enlazado.
Desactivación de filas en la rejilla
Se puede añadir una columna de infotable a los datos de rejilla que controlan la desactivación de cada fila de una rejilla. Para desactivar los datos en la rejilla, realice los siguientes pasos:
1. En el panel Propiedades, establezca la propiedad AllowDisabledNodes en Verdadero.
2. Seleccione la columna de infotable con los datos para el estado desactivado mediante la propiedad DisabledStateField.
Para desactivar las filas hijo bajo una fila padre desactivada en una rejilla de árbol, active la propiedad DisableChildNodes.
3. Pulse en Guardar y, a continuación, visualice el mashup.
Los datos de estado desactivados se aplican a las filas en tiempo de ejecución.
Transferencia de datos seleccionados
Se puede utilizar la propiedad SelectedRows de la rejilla para pasar los datos seleccionados en la rejilla cuando la selección de filas se ha definido en Única o Varias. Esta propiedad tiene una dirección de enlace bidireccional. La propiedad se puede enlazar como salida o como entrada. Utilice un enlace de salida para pasar la selección de rejilla a otro servicio o widget de datos, o como entrada de enlace para controlar la selección de filas mediante un widget o un servicio de datos. Para pasar datos desde una rejilla en la que la selección de filas está desactivada, utilice la propiedad de infotable LastClickedRow. Esta propiedad tiene una dirección de enlace de salida solo y se puede utilizar para pasar los datos de infotable de la última fila en la que se ha pulsado en la rejilla.
Respuesta a eventos de selección de filas
Cuando un usuario selecciona o pulsa en una fila en tiempo de ejecución, se activa el evento RowClicked. Se genera un evento SelectedRowsChanged adicional cuando se activa una selección única o múltiple. Se puede utilizar uno de estos eventos para ejecutar servicios de datos o servicios en funciones y widgets.
¿Fue esto útil?