React Tree Grid Column Hiding

    La Ignite UI for React tiene una interfaz de usuario para ocultar columnas incorporada, que se puede usar a través de la barra de herramientas de React Tree Grid para cambiar el estado visible de las columnas. Los desarrolladores tienen la flexibilidad de definir la interfaz de usuario para ocultar columnas en cualquier lugar de la página según sea necesario. La función de ocultar columnas React Tree Grid es especialmente útil cuando se desea reducir el tamaño de la cuadrícula y eliminar la necesidad de pasar por campos redundantes con la tecla tabulador.

    React Tree Grid Column Hiding Example

    Tree Grid Setup

    Empecemos creando nuestroIgrTreeGrid y vinculándolo a nuestros datos. También activaremos tanto el filtrado como la ordenación de las columnas.

    <IgrTreeGrid autoGenerate={false} data={employeesFlatDetails} width="100%" height="560px" allowFiltering={true}>
        <IgrColumn field="Name" dataType="string" sortable={true} hidden={true}></IgrColumn>
        <IgrColumn field="ID" dataType="number" sortable={true} hidden={true}></IgrColumn>
        <IgrColumn field="Title" dataType="string" sortable={true}></IgrColumn>
        <IgrColumn field="HireDate" dataType="date" sortable={true}></IgrColumn>
        <IgrColumn field="Age" dataType="number" sortable={true}></IgrColumn>
        <IgrColumn field="Address" dataType="string" sortable={true}></IgrColumn>
        <IgrColumn field="City" dataType="string" sortable={true}></IgrColumn>
        <IgrColumn field="Country" dataType="string" sortable={true}></IgrColumn>
        <IgrColumn field="Fax" dataType="string" sortable={true}></IgrColumn>
        <IgrColumn field="PostalCode" dataType="string" sortable={true}></IgrColumn>
        <IgrColumn field="Phone" dataType="string" sortable={true}></IgrColumn>
    </IgrTreeGrid>
    

    Toolbar's Column Hiding UI

    La interfaz integrada de ocultación de columnas está situada dentro de unaDropDown barra de herramientas de laIgrTreeGrid zona. Podemos mostrar/ocultar la interfaz de ocultación de columnas usando exactamente este desplegable.

    Para este propósito, todo lo que tenemos que hacer es establecer tanto elIgrGridToolbarActions como elIgrGridToolbarHiding interior de elIgrTreeGrid.

    <IgrTreeGrid>
        <IgrGridToolbar>
            <IgrGridToolbarActions>
                <IgrGridToolbarHiding></IgrGridToolbarHiding>
            </IgrGridToolbarActions>
        </IgrGridToolbar>
    </IgrTreeGrid>
    

    NosIgrTreeGrid proporciona algunas propiedades útiles para usar la interfaz de ocultación de columnas de la barra de herramientas.

    Usando latitle propiedad, estableceremos el título que se muestra dentro del botón desplegable de la barra de herramientas.

    <IgrTreeGrid>
        <IgrGridToolbar>
            <IgrGridToolbarActions>
                <IgrGridToolbarHiding title="Column Hiding"></IgrGridToolbarHiding>
            </IgrGridToolbarActions>
        </IgrGridToolbar>
    </IgrTreeGrid>
    

    Puede ver el resultado del código de arriba al principio de este artículo en la sección Ejemplo de ocultación de columna React.

    Disable hiding of a column

    Podemos evitar fácilmente que el usuario pueda ocultar columnas a través de la interfaz de ocultación de columnas simplemente configurando sudisableHiding propiedad como true.

    <IgrTreeGrid>
        <IgrColumn field="Name" dataType="string" sortable={true} disableHiding={true}></IgrColumn>
        <IgrColumn field="Title" dataType="string" sortable={true} disableHiding={true}></IgrColumn>
    </IgrTreeGrid>
    

    Styling

    La cuadrícula se puede personalizar aún más configurando algunas de las variables CSS disponibles. Para lograrlo usaremos una clase que primero asignaremos al grid:

    <IgrTreeGrid className="tree-grid"></IgrTreeGrid>
    

    Luego establece las variables CSS relacionadas para los componentes relacionados. Aplicaremos los estilos también solo en eligx-column-actions, para que el resto de la cuadrícula no se vea afectado:

    .tree-grid {
        /* Main Column Actions styles */
        --ig-column-actions-background-color: #292826;
        --ig-column-actions-title-color: #ffcd0f;
    
        /* Checkbox styles */
        --ig-checkbox-tick-color: #292826;
        --ig-checkbox-label-color: #ffcd0f;
        --ig-checkbox-empty-color: #ffcd0f;
        --ig-checkbox-fill-color: #ffcd0f;
    
        /* Input styles */
        --ig-input-group-idle-text-color: white;
        --ig-input-group-filled-text-color: #ffcd0f;
        --ig-input-group-focused-text-color: #ffcd0f;
        --ig-input-group-focused-border-color: #ffcd0f;
        --ig-input-group-focused-secondary-color: #ffcd0f;
    
        /* Buttons styles */
        --ig-button-foreground: #292826;
        --ig-button-background: #ffcd0f;
        --ig-button-hover-background: #404040;
        --ig-button-hover-foreground: #ffcd0f;
        --ig-button-focus-background: #ffcd0f;
        --ig-button-focus-foreground: black;
        --ig-button-focus-visible-background: #ffcd0f;
        --ig-button-focus-visible-foreground: black;
        --ig-button-disabled-foreground: #ffcd0f;
    }
    

    Demo

    API References

    En este artículo hemos aprendido a usar la interfaz de ocultación de columnas integrada en laIgrTreeGrid barra de herramientas. La columna que oculta la interfaz tiene algunas APIs más por explorar, que se enumeran a continuación.

    • ColumnActionsComponent

    Componentes adicionales con API relativas que se utilizaron:

    IgrColumn properties:

    IgrGridToolbar properties:

    • showProgress

    IgrGridToolbar methods:

    IgrTreeGrid events:

    • ColumnVisibilityChanged

    Additional Resources

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