El componente IgcGridComponent admite la especificación de una plantilla de detalles que muestra detalles adicionales para una fila en particular expandiendo/contrayendo su contenido. Cuando se especifica, cada registro actúa como un maestro, que al expandirse muestra una plantilla de detalles personalizable con datos contextuales para el registro actual.
Este modo es útil cuando necesita mostrar datos de estilo maestro-detalle en una estructura jerárquica.
Web Components Ejemplo de detalle maestro de cuadrícula
<!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-gridauto-generate="false"primary-key="ID"name="grid"id="grid"><igc-columnfield="ContactName"header="Contact"width="250px"resizable="false"></igc-column><igc-columnheader="Address"field="Address"editable="true"width="250px"resizable="false"></igc-column><igc-columnheader="Country"field="Country"></igc-column><igc-columnheader="Region"field="Region"></igc-column><igc-columnheader="Phone"field="Phone"></igc-column><igc-columnheader="Fax"field="Fax"></igc-column></igc-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.
Configuración
Para configurar IgcGridComponent para que se muestre en modo maestro-detalle, debe especificar una plantilla para la cuadrícula:
El contexto de la plantilla son los datos del registro maestro, de modo que los valores del registro maestro se pueden mostrar en la plantilla de detalles. Por ejemplo:
public masterDetailTemplate = (ctx: IgcGridMasterDetailContext) => {
var data = ctx.implicit;
return html`<divclass="contact-container"><span><strong>Name:</strong>${data.ContactName}</span><br/><span><strong>Title:</strong>${data.ContactTitle}</span><br/><span><strong>Company:</strong>${data.CompanyName}</span><br/></div>`;
}
ts
API
También se exponen métodos API adicionales para controlar los estados de expansión:
🡑: navega una fila hacia arriba, enfocando una celda de la fila anterior.
🡓: navega una fila hacia abajo, enfocando una celda de la siguiente fila.
Tabulador: permite que el foco se mueva al siguiente elemento enfocable dentro de la plantilla si hay elementos enfocables; de lo contrario, se mueve a la siguiente fila de la cuadrícula.
Shift + Tab: mueve el foco a la fila anterior.
Cuando el foco está en una fila de datos con expansor:
Alt + 🡒 or Alt + 🡓 - expands the row.
Alt + 🡐 or Alt + 🡑 - collapses the row.
Problemas conocidos y limitaciones
Limitaciones conocidas
Descripción
Es posible que la navegación con pestañas dentro de la plantilla de detalles personalizada no actualice la posición de desplazamiento de la cuadrícula maestra en caso de que el siguiente elemento enfocado esté fuera del puerto de visualización visible.
La navegación por pestañas dentro de la plantilla de detalles personalizada se deja en manos del navegador.
Al crear una plantilla de cuadrícula dentro de la vista de detalles que tiene una<igc-column> definiciones, la cuadrícula principal también representará esas columnas.
Esto se puede evitar usando autoGenerate=true para la cuadrícula anidada. En caso de que sea necesario modificar algún aspecto de esas columnas,ColumnInit Se puede utilizar el evento.
La plantilla de detalles no se exportará a Excel.
Como la plantilla de detalles puede contener cualquier tipo de contenido, no podemos exportarla a Excel de forma inmediata.
La función de búsqueda no resaltará elementos de la plantilla de detalles.