Web Components Edición de filas de cuadrícula de árbol
La función de edición de Ignite UI for Web Components fila en Web Components cuadrícula de árbol permite editar datos directamente dentro de IgcTreeGridComponent. Además de esta cómoda forma de manipular los datos, hay una potente API para operaciones CRUD completas. Puede realizar la edición de filas de cuadrícula haciendo clic en una fila y presionando la tecla Enter. Otra forma rápida es hacer doble clic con el ratón en la fila que hay que modificar.
Web Components Ejemplo de edición de filas de cuadrícula de árbol
En el ejemplo siguiente se muestra cómo habilitar la edición de filas en el IgcTreeGridComponent. Al cambiar el valor de una celda y, a continuación, hacer clic o navegar a otra celda de la misma fila no se actualizará el valor de fila hasta que se confirme mediante el botón Listo o se descarte mediante el botón Cancelar.
<!DOCTYPE html><html><head><title>Sample | Ignite UI | Web Components | infragistics</title><metacharset="UTF-8" /><linkrel="shortcut icon"href="https://static.infragistics.com/xplatform/images/browsers/wc.png" ><linkrel="stylesheet"href="https://fonts.googleapis.com/icon?family=Material+Icons" /><linkrel="stylesheet"href="https://fonts.googleapis.com/css?family=Kanit&display=swap" /><linkrel="stylesheet"href="https://fonts.googleapis.com/css?family=Titillium Web" /><linkrel="stylesheet"href="https://static.infragistics.com/xplatform/css/samples/shared.v8.css" /><linkrel="stylesheet"href="/src/index.css"type="text/css" /></head><body><divid="root"><divclass="container sample ig-typography"><divclass="container fill"><igc-tree-gridauto-generate="false"name="treeGrid"id="treeGrid"id="treeGrid"primary-key="ID"foreign-key="ParentID"moving="true"row-editable="true"row-selection="multiple"><igc-columnfield="Name"header="Full Name"data-type="string"resizable="true"sortable="true"filterable="true"editable="true"></igc-column><igc-columnfield="Age"data-type="number"resizable="false"sortable="false"filterable="false"editable="true"></igc-column><igc-columnfield="Title"data-type="string"resizable="true"sortable="true"filterable="true"editable="true"></igc-column><igc-columnfield="HireDate"header="Hire Date"data-type="date"resizable="true"sortable="true"filterable="true"editable="true"></igc-column></igc-tree-grid></div></div></div><!-- This script is needed only for parcel and it will be excluded for webpack -->
<% if (false) { %><scriptsrc="src/index.ts"></script><% } %>
</body></html>html
/* shared styles are loaded from: *//* https://static.infragistics.com/xplatform/css/samples */css
¿Te gusta esta muestra? Obtenga acceso a nuestro kit de herramientas de Ignite UI for Web Components completo y comience a crear sus propias aplicaciones en minutos. Descárgalo gratis.
Cuando una fila está en modo de edición, al hacer clic en una celda de otra fila, se activará como si se presionara el botón "Listo", enviando todos los cambios realizados en la fila anterior. Si la celda recién enfocada es editable, la nueva fila también entra en modo de edición. Sin embargo, si la celda no es editable, solo la fila anterior sale del modo de edición.
constructor() {
var grid = document.getElementById('grid') as IgcTreeGridComponent;
grid.data = this.data;
}
ts
La configuración de la clave principal es obligatoria para las operaciones de edición de filas.
No es necesario habilitar la edición de columnas individuales. Con la propiedad rowEditable en IgcTreeGridComponent, todas las filas con la propiedad de campo definida (excepto la fila principal) serán editables. Si desea deshabilitar la edición de una columna específica, simplemente establezca la entrada editable de esa columna en false.
IgcTreeGridComponent utiliza BaseTransactionService, un proveedor interno que retiene los cambios de celda pendientes hasta que se envía o cancela el estado de la fila.
Posicionamiento
La posición predeterminada de la superposición estará debajo de la fila que está en modo de edición.
Si no hay espacio debajo de la fila, aparecerá una superposición encima de la fila.
Una vez que se muestra, arriba o abajo, la superposición mantendrá esta posición durante el desplazamiento, hasta que se cierre la superposición.
Comportamiento
Si la fila está en modo de edición, la edición continuará si se hace clic en una celda de la misma fila.
Al hacer clic en el botón "Listo", finalizará la edición de la fila y enviará los cambios a la fuente de datos o a una transacción, si está disponible. Además, la fila saldrá del modo de edición.
Al hacer clic en el botón "Cancelar", se revertirán todos los cambios actuales en la fila y la fila saldrá del modo de edición.
Si la fila está en modo de edición, al hacer clic en una celda de otra fila finalizará la edición de la fila actual y se enviarán nuevos cambios en la fila (el mismo comportamiento al hacer clic en el botón "Listo"). Si la nueva celda que recibe el foco es editable, entonces la nueva fila también ingresa al modo de edición, mientras que si la celda no es editable, solo la fila anterior sale del modo de edición.
Si la fila está en modo de edición y IgcTreeGridComponent se desplaza de modo que la fila salga del área visible, esta última seguirá en modo de edición. Cuando IgcTreeGridComponent se desplaza, de modo que la fila vuelva a ser visible, la fila seguirá en modo de edición. Cuando se hace clic fuera de la, la IgcTreeGridComponent celda también permanecerá en modo de edición.
Al realizar operaciones de clasificación, filtrado, búsqueda y ocultación, se revertirán todos los cambios actuales en la fila y la fila saldrá del modo de edición.
Al realizar operaciones de paginación, cambio de tamaño, fijación y movimiento, saldrá del modo de edición y enviará el último valor.
Cada celda modificada recibe un estilo de edición hasta que finaliza la edición de filas. Este es el comportamiento, cuando IgcTreeGridComponent no se proporciona con transacciones. Cuando las transacciones están disponibles, se aplica el estilo de edición de celda hasta que se confirman todos los cambios.
Navegación por teclado
Ingrese y F2 ingresa al modo de edición de filas
Esc sale del modo de edición de filas y no envía ninguno de los cambios de celda realizados mientras la fila estaba en modo de edición.
Tab mueve el foco de una celda editable en la fila a la siguiente y de la celda editable más a la derecha a los botones CANCELAR y LISTO. La navegación desde el botón LISTO va a la celda editable más a la izquierda dentro de la fila actualmente editada.
Integración de funciones
Cualquier operación de cambio de datos finalizará las operaciones de edición de filas y enviará los cambios de filas actuales. Esto incluirá operaciones como ordenar, cambiar criterios de agrupación y filtrado, paginación, etc.
Los resúmenes se actualizarán una vez finalizada la edición de la fila. Lo mismo es válido para otras funciones como ordenar, filtrar, etc.
Personalización de la superposición de edición de filas
Personalizando el texto
Es posible personalizar el texto de la superposición de edición de filas mediante plantillas.
La propiedad RowChangesCount está expuesta y contiene el recuento de celdas modificadas.
Además de los temas predefinidos, la cuadrícula se puede personalizar aún más configurando algunas de las propiedades CSS disponibles. En caso de que desee cambiar algunos de los colores, primero debe establecer una clase para la cuadrícula:
<igc-tree-gridclass="grid"></igc-tree-grid>html
Luego configure las propiedades CSS relacionadas para esa clase:
<!DOCTYPE html><html><head><title>Sample | Ignite UI | Web Components | infragistics</title><metacharset="UTF-8" /><linkrel="shortcut icon"href="https://static.infragistics.com/xplatform/images/browsers/wc.png" ><linkrel="stylesheet"href="https://fonts.googleapis.com/icon?family=Material+Icons" /><linkrel="stylesheet"href="https://fonts.googleapis.com/css?family=Kanit&display=swap" /><linkrel="stylesheet"href="https://fonts.googleapis.com/css?family=Titillium Web" /><linkrel="stylesheet"href="https://static.infragistics.com/xplatform/css/samples/shared.v8.css" /><linkrel="stylesheet"href="/src/index.css"type="text/css" /></head><body><divid="root"><divclass="container sample ig-typography"><divclass="container fill"><igc-tree-gridauto-generate="false"name="grid"id="grid"id="grid"primary-key="ID"foreign-key="ParentID"moving="true"row-editable="true"row-selection="multiple"><igc-columnfield="Name"header="Full Name"data-type="string"resizable="true"sortable="true"filterable="true"editable="true"></igc-column><igc-columnfield="Age"data-type="number"resizable="false"sortable="false"filterable="false"editable="true"></igc-column><igc-columnfield="Title"data-type="string"resizable="true"sortable="true"filterable="true"editable="true"></igc-column><igc-columnfield="HireDate"header="Hire Date"data-type="date"resizable="true"sortable="true"filterable="true"editable="true"></igc-column></igc-tree-grid></div></div></div><!-- This script is needed only for parcel and it will be excluded for webpack -->
<% if (false) { %><scriptsrc="src/index.ts"></script><% } %>
</body></html>html
Cuando la cuadrícula no tiene primaryKey establecida y los escenarios de datos remotos están habilitados (al paginar, ordenar, filtrar y desplazar solicitudes de activación a un servidor remoto para recuperar los datos que se mostrarán en la cuadrícula), una fila perderá el siguiente estado después de un dato. solicitud completa: