Angular grade mestre-detalhe
O igxGrid
componente suporta a especificação de um modelo de detalhes que exibe detalhes adicionais para uma linha específica, expandindo/recolhendo seu conteúdo. Quando especificado, cada registro atua como um mestre, que, após a expansão, mostra um modelo de detalhes personalizável com dados contextuais para o registro atual.
Esse modo é útil quando você precisa exibir dados de estilo mestre-detalhe em uma estrutura hierárquica.
Angular Grid Master-Detail Example
Configuração
Para configurar a igxGrid
exibição no modo mestre-detalhe, você precisa especificar um modelo dentro da grade, marcado com a igxGridDetail
diretiva:
<igx-grid ... >
<ng-template igxGridDetail let-dataItem>
<!-- Custom detail template content here -->
</ng-template>
</igx-grid>
O contexto do modelo são os dados do registro mestre, de modo que os valores do registro mestre possam ser exibidos no modelo detalhado. Por exemplo:
<igx-grid ... >
<ng-template igxGridDetail let-dataItem>
<div *ngIf="dataItem.Category">
<header>{{dataItem.Category.CategoryName}}</header>
<span>{{dataItem.Category.Description}}</span>
</div>
</ng-template>
</igx-grid>
API
Os estados de expansão podem ser controlados através da expansionStates
entrada do igxGrid
. Os estados são armazenados em pares de valores-chave [identificador de linha, estado de expansão]. A propriedade obtém/define os estados de expansão atuais e dá suporte à associação bidirecional:
<igx-grid [(expansionStates)]='expansionState' >
...
</igx-grid>
Métodos de API adicionais para controlar os estados de expansão também são expostos:
Navegação pelo teclado
Quando o foco está em uma linha de detalhes:
Arrow Up
- navega uma linha para cima, focalizando uma célula da linha anterior.Arrow Down
- Navega uma linha para baixo, focalizando uma célula da próxima linha.Tab
- Permite que o foco se mova para o próximo elemento focalizável dentro do modelo se houver elementos focalizáveis, caso contrário, move-se para a próxima linha da grade.Shift + Tab
- Move o foco para a linha anterior.
Quando o foco está em uma linha de dados com expansor:
Alt + Arrow Right/ Down
- expande a linha.Alt + Arrow Left/Down
- recolhe a linha.
Known Issues and Limitations
Limitações conhecidas | Descrição |
---|---|
A navegação por guia dentro do modelo de detalhes personalizado pode não atualizar a posição de rolagem da grade mestra caso o próximo elemento focado esteja fora da porta de exibição visível. | A navegação por guias dentro do modelo de detalhes personalizado é deixada para o navegador. |
Ao modelar uma grade dentro da exibição de detalhes que tem definições<igx-column> , a grade pai também renderizará essas colunas. |
Isso pode ser evitado usando autoGenerate=true para a grade aninhada. Caso algum aspecto dessas colunas precise ser modificado, ocolumnInit evento pode ser usado. |
O modelo de detalhes não será exportado para o Excel. | Como o modelo de detalhes pode conter qualquer tipo de conteúdo, não podemos exportá-lo para o Excel pronto para uso. |
O recurso de pesquisa não destacará elementos do modelo de detalhes. |
API References
- Componente IgxGridIgx
- Estilos IgxGridComponent
- IgxColumnComponent
- IgxGridRow
- IgxTreeGridRow
- IgxHierarchicalGridRow
- IgxGridCell