Descripción general de los encabezados de varias columnas de cuadrícula de React

    La función Ignite UI for React Encabezados de varias columnas de React cuadrícula le permite agrupar columnas colocándolas debajo de un encabezado múltiple común. Cada grupo de encabezados de varias columnas del IgrGrid podría ser una representación de combinaciones entre otros grupos o columnas. Esta característica es especialmente útil cuando se trata de grandes conjuntos de datos en los que el desplazamiento horizontal puede ser engorroso.

    React Ejemplo de encabezados de varias columnas de cuadrícula

    EXAMPLE
    DATA
    TSX
    CSS

    ¿Te gusta este ejemplo? Obtén acceso a nuestro kit de herramientas completo Ignite UI for React y comienza a crear tus propias aplicaciones en minutos. Descárgalo gratis.

    La declaración de encabezados de varias columnas se logra envolviendo un conjunto de columnas en un componente IgrColumnGroup con la información del título IgrHeader pasada.

    <IgrGrid allowFiltering="true">
        <IgrColumnGroup header="Contact Information">
            <IgrColumn sortable="true" resizable="true" field="Phone"></IgrColumn>
            <IgrColumn sortable="true" resizable="true" field="Fax"></IgrColumn>
            <IgrColumn sortable="true" resizable="true" field="PostalCode"></IgrColumn>
        </IgrColumnGroup>
    </IgrGrid>
    tsx

    Para lograr n-th nivel de encabezados anidados, se debe seguir la declaración anterior. Entonces, al anidar IgrColumnGroup se obtiene el resultado deseado.

    <IgrGrid height="600px" allowFiltering="true">
        <IgrColumnGroup header="General Information">
            <IgrColumn movable="true" sortable="true" resizable="true" field="CompanyName"></IgrColumn>
            <IgrColumnGroup movable="true" header="Person Details">
                <IgrColumn movable="true" pinned="false" sortable="true" resizable="true" field="ContactName"></IgrColumn>
                <IgrColumn movable="true" sortable="true" resizable="true" field="ContactTitle"></IgrColumn>
            </IgrColumnGroup>
        </IgrColumnGroup>
    </IgrGrid>
    tsx

    Every IgrColumnGroup supports moving, pinning and hiding.

    Cuando hay un conjunto de columnas y grupos de columnas, la fijación solo funciona para las columnas principales del nivel superior. Más específicamente, no se permite fijar por grupos de columnas o columnas anidadas. Solo se permite moverse entre columnas y grupos de columnas cuando están en el mismo nivel en la jerarquía y ambos están en el mismo grupo. Cuando las columnas/grupos de columnas no están envueltos por el grupo actual, lo que significa que son columnas de nivel superior, se permite moverse entre columnas visibles completas.

    <IgrGrid height="600px" allowFiltering="true">
        <IgrColumnGroup movable="true" pinned="true" header="General Information">
            <IgrColumn movable="true" sortable="true" resizable="true" field="CompanyName"></IgrColumn>
        </IgrColumnGroup>
        <IgrColumn sortable="true" resizable="true" field="Phone"></IgrColumn>
        <IgrColumn sortable="true" resizable="true" field="Fax"></IgrColumn>
        <IgrColumn sortable="true" resizable="true" field="PostalCode"></IgrColumn>
    </IgrGrid>
    tsx

    Plantilla de encabezado de varias columnas

    <IgrColumnGroup header="Contact Information" headerTemplate={groupHeaderTemplate}></IgrColumnGroup>
    tsx
    function groupHeaderTemplate(e: { dataContext: IgrColumnTemplateContext }) {
        const column = e.dataContext.column as IgrColumnGroup;
        return (
          <div>
            <span style={{ float: "left" }}>{column.header.toUpperCase()}</span>
          </div>
        );
    }
    tsx

    Si se cambia la plantilla de un encabezado y el grupo de columnas correspondiente se puede mover, debe establecer el atributo arrastrable en falso en los elementos con plantilla, para que pueda manejar cualquiera de los eventos que se aplican.

    function columnHeaderTemplate(e: { dataContext: IgrColumnTemplateContext }) {
        const column = e.dataContext.column as IgrColumnGroup;
        return (
          <span onClick={onClick}>
            <IgrIcon data-draggable="false"></IgrIcon>
          </span>
        );
    }
    tsx

    El siguiente ejemplo demuestra cómo implementar grupos de columnas contraíbles utilizando plantillas de encabezado.

    EXAMPLE
    DATA
    TSX
    CSS

    Ignite UI for React | CTA Banner

    Estilo

    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:

    <IgrGrid className="grid"></IgrGrid>
    tsx

    Luego establezca las propiedades CSS relacionadas con esta clase:

    .grid {
        --ig-grid-header-background: #e0f3ff;
        --ig-grid-header-text-color: #e41c77;
        --ig-grid-header-border-width: 1px;
        --ig-grid-header-border-style: solid;
        --ig-grid-header-border-color: rgba(0, 0, 0, 0.08);
    }
    css

    Manifestación

    EXAMPLE
    DATA
    TSX
    CSS

    Referencias de API

    Recursos adicionales

    Nuestra comunidad es activa y siempre da la bienvenida a nuevas ideas.