Web Components Adição de linha de grade
O recurso de Adição de Linhas Ignite UI for Web Components no Web Components Grid permite que os usuários insiram e enviem novos registros de dados sem precisar navegar para um formulário ou página separado. Com issoIgcGridComponent, os usuários podem manipular dados por meio de adição de linhas inline e uma API poderosa para operações CRUD. Adicione umIgcActionStrip componente com ações de edição ativadas no template da grade. Depois disso, passe o mouse por uma fileira e use o botão fornecido. Por fim, pressione ALT + + para gerar a linha adicionando a interface.
Web Components Grid Row Adding Example
Row Adding Usage
Depois, defina umIgcGridComponent com a fonte de dados vinculada,rowEditable definido como verdadeiro e umIgcActionStrip componente com ações de edição ativadas. OaddRow input controla a visibilidade do botão que gera a linha de interface adicionada.
<igc-grid id="grid" primary-key="ProductID" auto-generate="false" row-editable="true">
<igc-column field="ProductID" header="Product ID" data-type="Number"></igc-column>
<igc-column field="ReorderLevel" header="ReorderLever" data-type="Number"></igc-column>
<igc-column field="ProductName" header="ProductName" data-type="String"></igc-column>
<igc-column field="UnitsInStock" header="UnitsInStock" data-type="Number"></igc-column>
<igc-column field="OrderDate" data-type="Date"></igc-column>
<igc-column field="Discontinued" header="Discontinued" data-type="Boolean"></igc-column>
<igc-action-strip id="actionstrip">
<igc-grid-editing-actions add-row="true"></igc-grid-editing-actions>
</igc-action-strip>
</igc-grid>
Observação: a configuração da chave primária é obrigatória para operações de adição de linha.
Nota: Todas as colunas, exceto a chave principal, podem ser editadas na linha que adiciona a interface por padrão. Se você quiser desativar a edição para uma coluna específica, então precisa definir a
editableentrada da coluna parafalse.
Nota: O
IgcGridEditingActionsinput que controla a visibilidade do botão de adicionar linha pode usar o contexto action strip (que é do tipoIgcRowTypepara ajustar finamente qual registro o botão mostra).
O internoBaseTransactionService é fornecidogrid automaticamente. Ele mantém as mudanças pendentes de célula até que o estado da linha seja submetido ou cancelado.
Start Row Adding Programmatically
gridpermite gerar programaticamente a interface de adicionar linha usando dois métodos públicos diferentes. Uma que aceita um ID de linha para especificar a linha sob a qual a interface deve surgir e outra que funciona por índice. Você pode usar esses métodos para gerar a interface em qualquer lugar dentro da visualização de dados atual. Alterar a página ou especificar uma linha que, por exemplo, é filtrada não é suportado.
UsarbeginAddRowById exige que você especifique a linha a ser usada como contexto para a operação por itsRowID (PK). O método então funciona como se o usuário final tivesse clicado no botão de adicionar linha para a linha especificada, gerando a interface sob ela. Você também pode fazer a interface aparecer como a primeira fileira da grade passandonull pelo primeiro parâmetro.
this.grid.beginAddRowById('ALFKI'); // Spawns the add row UI under the row with PK 'ALFKI'
this.grid.beginAddRowById(null); // Spawns the add row UI as the first record
ObeginAddRowByIndex método funciona de forma semelhante, mas exige que você especifique o índice onde a interface deve aparecer. Os valores permitidos variam entre 0 e o tamanho da visualização de dados - 1.
this.grid.beginAddRowByIndex(10); // Spawns the add row UI at index 10
this.grid.beginAddRowByIndex(0); // Spawns the add row UI as the first record
Positioning
A posição padrão da interface do usuário de adição de linha está abaixo da linha para a qual o usuário final clicou no botão adicionar linha.
Os
gridrolos para exibir completamente a interface de adicionar linha automaticamente.A sobreposição para a interface do usuário de adição de linha mantém sua posição durante a rolagem.
Behavior
A interface do usuário de adição de linha tem o mesmo comportamento que a de edição de linha, pois foi projetada para fornecer uma experiência de edição consistente aos usuários finais. Consulte o tópico Edição de linha de grade para obter mais informações.
Após uma nova linha ser adicionada através da interface de adicionar linha, sua posição e/ou visibilidade é determinada pelo estado de ordenação, filtragem e agrupamento dogrid. Em umgrid que não tem nenhum desses estados aplicado, aparece como o último registro. Uma barra de lanche é exibida brevemente, contendo um botão que o usuário final pode usar para deslizargrid até sua posição caso não esteja à vista.
Keyboard Navigation
ALT + +- Entra no modo de edição para adicionar uma linha
ESC sai do modo de adição de linha sem enviar nenhuma alteração
TAB mova o foco de uma célula editável na linha para a próxima e da célula editável mais à direita para os botões CANCELAR e CONCLUÍDO. A navegação do botão CONCLUÍDO vai para a célula editável mais à esquerda dentro da linha editada no momento.
Feature Integration
Qualquer operação de adição de linha será interrompida se a visualização de dados do
gridfor modificada. Quaisquer alterações feitas pelo usuário final são enviadas. Operações que alteram a visão de dados incluem, mas não se limitam a, ordenação, agrupamento, filtragem, paginação, etc.Os resumos são atualizados após a conclusão da operação de adição de linha. O mesmo é válido para os outros recursos dependentes da visualização de dados, como classificação, filtragem etc.
Customizing Row Adding Overlay
Customizing Text
Personalizar o texto da linha adicionando sobreposição é possível usando orowAddTextTemplate.
this.grid.rowAddTextTemplate = (ctx: IgcGridEmptyTemplateContext) => {
return html`Adding Row`;
}
Styling
A interface de adicionar linhas inclui os botões nasIgcActionStrip ações de edição, os editores de edição e a sobreposição, além da barra de lanche, que permite aos usuários finais rolar até a linha recém-adicionada. Para estilizar esses componentes, você pode consultar estes guias completos em seus respectivos temas:
API References
rowEditableRowEditEnterRowEditRowEditDoneRowEditCancelendEditprimaryKeyIgcGridComponent
Additional Resources
Nossa comunidade é ativa e sempre acolhedora para novas ideias.