React Grid Column Hiding

    O Ignite UI for React tem uma interface do usuário interna de ocultação de coluna, que pode ser usada por meio da barra de ferramentas React Grid para alterar o estado visível das colunas. Os desenvolvedores têm a flexibilidade de definir a interface do usuário de ocultação de coluna em qualquer lugar da página, conforme necessário. O recurso React Ocultação de Coluna de Grade é especialmente útil quando se deseja diminuir o tamanho da grade e eliminar a necessidade de tabulação em campos redundantes.

    React Grid Column Hiding Example

    Grid Setup

    Vamos começar criando nosso IgrGrid e vinculando-o aos nossos dados. Também habilitaremos a filtragem e a classificação das colunas.

    <IgrGrid autoGenerate="false" width="100%" height="560px" allowFiltering="true">
        <IgrColumn field="ID" dataType="string" sortable="true" hidden="true"></IgrColumn>
        <IgrColumn field="ContactName" dataType="String" sortable="true" hidden="true"></IgrColumn>
        <IgrColumn field="ContactTitle" dataType="string" sortable="true"></IgrColumn>
        <IgrColumn field="City" dataType="string" sortable="true"></IgrColumn>
        <IgrColumn field="CompanyName" dataType="string" sortable="true"></IgrColumn>
        <IgrColumn field="Fax" dataType="string" sortable="true"></IgrColumn>
        <IgrColumn field="Address" dataType="string" sortable="true"></IgrColumn>
        <IgrColumn field="PostalCode" dataType="string" sortable="true"></IgrColumn>
        <IgrColumn field="Country" dataType="string" sortable="true"></IgrColumn>
        <IgrColumn field="Phone" dataType="string" sortable="true"></IgrColumn>
    </IgrGrid>
    

    Toolbar's Column Hiding UI

    A interface do usuário de ocultação de coluna interna é colocada dentro de uma DropDown barra de ferramentas do IgrGrid. Podemos mostrar/ocultar a interface do usuário de ocultação de coluna usando esse menu suspenso exato.

    Para isso, tudo o que precisamos fazer é definir o e o IgrGridToolbarActions​ ​IgrGridToolbarHiding interior do IgrGrid. Também adicionaremos um título à nossa barra de ferramentas usando o e um estilo personalizado para o IgrGridToolbarTitle wrapper do nosso Grid.

    <IgrGrid>
        <IgrGridToolbar key="toolbar">
            <IgrGridToolbarActions key="toolbarActions">
                <IgrGridToolbarHiding key="toolbarHiding"></IgrGridToolbarHiding>
            </IgrGridToolbarActions>
        </IgrGridToolbar>
    </IgrGrid>
    

    O nos IgrGrid fornece algumas propriedades úteis quando se trata de usar a interface do usuário de ocultação de coluna da barra de ferramentas.

    Ao usar a title propriedade, definiremos o título que é exibido dentro do botão suspenso na barra de ferramentas.

    <IgrGrid>
        <IgrGridToolbar key="toolbar">
            <IgrGridToolbarActions key="toolbarActions">
                <IgrGridToolbarHiding key="toolbarHiding" title="Column Hiding"></IgrGridToolbarHiding>
            </IgrGridToolbarActions>
        </IgrGridToolbar>
    </IgrGrid>
    

    Você pode ver o resultado do código acima no início deste artigo na seção Exemplo de ocultação de coluna React.

    Disable hiding of a column

    Podemos facilmente impedir que o usuário possa ocultar colunas por meio da interface do usuário de ocultação de coluna simplesmente definindo sua disableHiding propriedade como true.

    <IgrGrid>
        <IgrColumn field="ContactName" dataType="string" sortable="true" disableHiding="true"></IgrColumn>
        <IgrColumn field="ContactTitle" dataType="string" sortable="true" disableHiding="true"></IgrColumn>
    </IgrGrid>
    

    Styling

    A grade pode ser ainda mais personalizada definindo algumas das variáveis CSS disponíveis. Para conseguir isso, usaremos uma classe que primeiro atribuiremos à grade:

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

    Em seguida, defina as variáveis CSS relacionadas para os componentes relacionados. Aplicaremos os estilos também apenas no igx-column-actions, para que o resto da grade não seja afetado:

    .grid  igx-column-actions {
        /* 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

    Neste artigo, aprendemos como usar a interface do usuário de ocultação de coluna interna na barra de ferramentas do . IgrGrid A coluna que oculta a interface do usuário tem mais algumas APIs para explorar, listadas abaixo.

    • ColumnActionsComponent

    Componentes adicionais com APIs relativas que foram usadas:

    IgrColumn properties:

    IgrGridToolbar properties:

    • showProgress

    IgrGridToolbar methods:

    IgrGrid events:

    • ColumnVisibilityChanged

    Additional Resources

    Nossa comunidade é ativa e sempre acolhedora para novas ideias.