Web Components grade mestre-detalhe
O IgcGridComponent
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.
Web Components Grid Master-Detail Example
Configuração
Para configurar a IgcGridComponent
exibição no modo mestre-detalhe, você precisa especificar um modelo para a grade:
constructor() {
var grid = this.grid = document.getElementById('grid') as IgcGridComponent;
this._bind = () => {
grid.data = this.customersData;
grid.detailTemplate = this.masterDetailTemplate;
}
this._bind();
}
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:
public masterDetailTemplate = (ctx: IgcGridMasterDetailContext) => {
var data = ctx.implicit;
return html` <div class="contact-container">
<span><strong>Name:</strong> ${data.ContactName}</span> <br/>
<span><strong>Title:</strong> ${data.ContactTitle}</span> <br/>
<span><strong>Company:</strong> ${data.CompanyName}</span> <br/>
</div>`;
}
API
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:
- 🡑- navega uma linha para cima, focalizando uma célula da linha anterior.
- 🡓- 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- moves the focus to the previous row.
Quando o foco está em uma linha de dados com expansor:
- Alt + 🡒 or Alt + 🡓 - expands the row.
- Alt + 🡐 or Alt + 🡑 - collapses the row.
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<igc-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
IgcGridComponent
IgcColumnComponent
HierarchicalGridRow