Visão geral dos grupos de colunas recolhíveis da grade React
O recurso Ignite UI for React Grupos de colunas recolhíveis no React Grid permite organizar e gerenciar vários níveis de colunas aninhadas e grupos de colunas no IgrGrid
agrupando-os e fornecendo a opção de recolher ou expandir esses grupos para melhorar a visualização e a navegação dos dados.
React Grid Collapsible Column Groups Example
Setup
Para começar a usar o IgrGrid
recurso de cabeçalhos de várias colunas recolhíveis, primeiro você precisa instalar Ignite UI for React digitando o seguinte comando:
npm install igniteui-react-grids
Para obter uma introdução completa ao Ignite UI for React, leia o tópico de introdução.
Além disso, sugerimos fortemente que você dê uma breve olhada no tópico de cabeçalhos de várias colunas, para ver informações mais detalhadas sobre como configurar os grupos de colunas em sua grade.
Usage
Grupos de colunas recolhíveis faz parte do recurso de cabeçalhos de várias colunas que fornece uma maneira de recolher/expandir um grupo de colunas para um conjunto menor de dados. Quando um grupo de colunas é recolhido, um subconjunto das colunas será mostrado ao usuário final e as outras colunas filho do grupo serão ocultadas. Cada coluna recolhida/expandida pode ser associada à fonte de dados da grade ou pode ser desvinculada, assim calculada.
Para definir um grupo de colunas como recolhível, você precisa definir a Collapsible
propriedade como columnGroup
true.
Você precisa definir a propriedade visibleWhenCollapsed
para pelo menos duas colunas filho. Pelo menos uma coluna deve estar visível quando o grupo é recolhido (visibleWhenCollapsed
definido como true) e pelo menos uma coluna deve estar oculta quando o grupo é expandido (visibleWhenCollapsed
definido como false
Se visibleWhenCollapsed
não for especificado para algumas das colunas filho, essa coluna estará sempre visível, independentemente de o estado pai ser expandido ou recolhido.
Vejamos a marcação abaixo:
<IgrColumnGroup collapsible={true} header="Customer Information">
<IgrColumn field="CustomerName" header="Customer Name" visibleWhenCollapsed={true}>
</IgrColumn>
<IgrColumn field="CustomerID" header="Customer ID" visibleWhenCollapsed={false}>
</IgrColumn>
<IgrColumn field="CustomerFirstName" header="First Name" visibleWhenCollapsed={false}>
</IgrColumn>
<IgrColumn field="CustomerLastName" header="Last Name" visibleWhenCollapsed={false}>
</IgrColumn>
<IgrColumnGroup header="Customer Address">
<IgrColumn field="CustomerAddress" header="Full Address" width="250px" visibleWhenCollapsed={true}>
</IgrColumn>
<IgrColumn field="Address" visibleWhenCollapsed={false}>
</IgrColumn>
<IgrColumn field="City" visibleWhenCollapsed={false}>
</IgrColumn>
<IgrColumn field="Country" visibleWhenCollapsed={false}>
</IgrColumn>
<IgrColumn field="PostalCode" header="Postal Code" visibleWhenCollapsed={false}>
</IgrColumn>
</IgrColumnGroup>
</IgrColumnGroup>
Para resumir, cada coluna filho tem três estados:
- Pode estar sempre visível, independentemente do estado expandido de seu pai.
- Pode ser visível quando seu pai está recolhido.
- Pode ser ocultado quando seu pai está recolhido.
O estado inicial do grupo de colunas especificado como recolhível é expanded
definido como true, mas você pode alterar facilmente esse comportamento definindo-o como false.
Expand/Collapse Indicator Template
O indicador de expansão padrão para o IgrGrid
é o seguinte:

O indicador de recolhimento padrão para o IgrGrid
é o seguinte:

Além disso, se você precisar alterar o indicador de expansão/recolhimento padrão, fornecemos opções de modelos para conseguir isso.
<IgrColumnGroup id="info" header="Customer Information" collapsible={true} collapsibleIndicatorTemplate={collapsibleIndicatorTemplate}>
<IgrColumn field="CustomerName" header="Fullname" dataType="string" visibleWhenCollapsed={true}></IgrColumn>
<IgrColumn field="CustomerID" header="Customer ID" dataType="string" visibleWhenCollapsed={false}></IgrColumn>
<IgrColumnGroup id="address" header="Customer Address" collapsible={true}>
<IgrColumn field="Country" header="Country" dataType="string" sortable={true} visibleWhenCollapsed={true}></IgrColumn>
<IgrColumn field="City" header="City" dataType="string" sortable={true} visibleWhenCollapsed={false}></IgrColumn>
</IgrColumnGroup>
</IgrColumnGroup>
const collapsibleIndicatorTemplate = (ctx: IgrColumnTemplateContext) => {
return (
<div>
<IgrIcon iconName={ctx.column.expanded ? 'remove' : 'add'}></IgrIcon>
</div>)
}
Nota Lembre-se de que inicialmente a opção de recolher grupo tem precedência sobre a coluna oculta - Se você declarou que sua coluna estava oculta usando a propriedade oculta e tem um grupo definido onde a mesma coluna deve ser mostrada, a coluna será mostrada.
API References
Additional Resources
- Virtualização e desempenho
- Paginação
- Filtragem
- Classificação
- Resumos
- Movimentação de Colunas
- Fixação de coluna
- Escolha
Nossa comunidade é ativa e sempre acolhedora para novas ideias.