
Os 5 principais recursos do React Grid para melhor UX e desempenho
Ao selecionar uma grade de dados React, além do desempenho e do preço, você também deve considerar como os usuários reais interagirão com ela e quais recursos serão necessários para atender aos requisitos do aplicativo e às expectativas dos usuários. Recursos como Filtragem Avançada, Persistência de Estado, Navegação por Teclado e Exportação para Excel não são apenas uma necessidade.
React é um dos frameworks web mais usados entre os desenvolvedores em todo o mundo para a construção de aplicativos. Até o momento, mais de 1,3 milhão de sites o utilizam, enquanto o número de equipes e programadores React que utilizam a tecnologia continua a crescer exponencialmente a cada dia. A razão é:
- Sua arquitetura baseada em componentes
- Flexibility
- E um rico ecossistema de bibliotecas
Tudo isso torna a criação de interfaces de usuário interativas rápida e eficiente. Um componente essencial da interface do usuário que os desenvolvedores geralmente precisam é uma grade de dados, que é uma estrutura robusta semelhante a uma tabela para exibir e manipular dados. Para criar os melhores aplicativos com grades abrangentes, no entanto, os desenvolvedores precisam de recursos abrangentes de grade de dados. Mas quais são os 5 principais recursos do React Grid para procurar em sua biblioteca React?
Este artigo examinará Ignite UI for React Grid e fornecerá uma lista dos melhores recursos React e seus casos de uso correspondentes. Então, aqui está a funcionalidade de que você precisa.
Filtragem avançada – para condições de filtro complexas
Listamos Ignite UI for React Filtragem Avançada entre os melhores recursos da tabela React porque fornece a capacidade de criar consultas de filtragem complexas com diferentes condições combinadas usando e/ou operandos.
Depois de criar as condições e grupos de filtragem, tudo o que você precisa fazer para filtrar os dados é clicar no botão Aplicar. Se você modificou o filtro avançado, mas não deseja preservar as alterações, clique no botão Cancelar. Você também pode limpar o filtro avançado clicando no botão Limpar filtro.
Casos de uso
- Encontrar todas as vendas acima de um determinado valor que aconteceram em um período de tempo definido.
- Um painel que permite aos usuários encontrar estoques de um determinado produto em um local específico.
- Um painel financeiro que filtra um grande número de transações.
Aqui está um pequeno vídeo sobre como você pode filtrar todas as datas após um determinado ponto que atendem a um critério específico.

Como ativar a filtragem avançada?
Se você precisar da Filtragem Avançada como um dos recursos do React Grid e quiser habilitá-la, a propriedade de entrada allowAdvancedFiltering deverá ser definida como true.
<IgrGrid data={nwindData} autoGenerate={false} ref={gridRef} allowAdvancedFiltering={true}> <IgrGridToolbar></IgrGridToolbar> </IgrGrid>
A filtragem avançada gera uma filteringExpressionsTree, que é armazenada na propriedade de entrada advancedFilteringExpressionsTree. Você pode usar a propriedade advancedFilteringExpressionsTree para definir um estado inicial da filtragem avançada.
const filteringTree: IgrFilteringExpressionsTree = { operator: FilteringLogic.And, filteringOperands: [ { fieldName: "ProductID", condition: new IgrNumberFilteringOperand().condition("doesNotEqual"), searchVal: 1, ignoreCase: true, }, { fieldName: "ProductName", conditionName: "startsWith", searchVal: "Ch", ignoreCase: true, } ] }; <IgrGrid data={data} allowFiltering={true} advancedFilteringExpressionsTree={filteringTree}> <IgrGridToolbar> <IgrGridToolbarActions> <IgrGridToolbarAdvancedFiltering></IgrGridToolbarAdvancedFiltering> </IgrGridToolbarActions> </IgrGridToolbar> <IgrColumn field="ProductID" filterable={true} dataType="number"></IgrColumn> <IgrColumn field="ProductName" dataType="string" filterable={true}></IgrColumn>
Persistência de estado – Salvar e restaurar exibições de grade
Deseja salvar e restaurar o estado da grade de maneira simples? Use o recurso Persistência de Estado em Ignite UI for React Grid. Qualquer alteração aplicada será salva e restaurada depois que a página for recarregada. Quando o IgrGridState é aplicado ao React IgrGrid, ele expõe os métodos GetState, GetStateAsString, ApplyState e ApplyStateFromString. Isso ajuda você a obter persistência de estado em qualquer cenário. Está entre os 5 principais recursos do React Grid porque é ideal para aplicativos em que os usuários exigem consistência e personalização em termos de como os dados são apresentados.
Casos de uso
- Para layouts de grade que exigem personalizações classificando, redimensionando colunas, aplicando filtros e configurações que podem ser salvas automaticamente.
- Um aplicativo de gerenciamento de tarefas em que os usuários desejam que sua exibição de tarefas filtrada e personalizada permaneça a mesma depois de fazer login novamente.
- Um painel de relatórios da equipe financeira que permite que os usuários salvem configurações de coluna específicas de registros de despesas ou um orçamento definido.

Como habilitar a persistência de estado?
<IgrGrid> <IgrGridState ref={gridStateRef}></IgrGridState> </IgrGrid> // get an `IgrGridStateInfo` object, containing all features original state objects, as returned by the grid public API const state: IgrGridStateInfo = gridStateRef.current.getState([]); // get all features` state in a serialized JSON string const stateString: string = gridStateRef.current.getStateAsString([]); // get the sorting and filtering expressions const sortingFilteringStates: IgrGridStateInfo = gridStateRef.current.getState(['sorting', 'filtering']);
Navegação por teclado – Atalhos para melhorar a produtividade e acessibilidade
Quando se trata de aplicativos de React com muitos dados, a Navegação por Teclado está entre os recursos de grade de React mais eficientes porque permite entrada e edição de dados mais rápidas e também é usada para interagir com outros recursos de grade.
O recurso React Navegação por Teclado fornece uma grande variedade de interações de teclado para os usuários, incluindo opções de classificação e agrupamento. Ele aprimora a acessibilidade da grade e permite uma navegação perfeita por qualquer tipo de elemento interno (célula, linha, cabeçalho de coluna, barra de ferramentas, rodapé, etc.). No Ignite UI for React Grid, essa funcionalidade é habilitada por padrão e você pode substituir qualquer um dos comportamentos padrão de maneira fácil.

Casos de uso
- Para um CRM de suporte ao cliente em que os usuários precisam processar tíquetes rapidamente.
- Um aplicativo focado em acessibilidade usado por usuários de leitores de tela que dependem de comandos de teclado para navegar pelo conteúdo da grade.
- Uma ferramenta financeira em estilo de planilha em que grandes volumes de dados podem ser adicionados usando apenas o teclado.
Além disso, os usuários podem substituir grande parte da funcionalidade de navegação utilizando os eventos internos, permitindo que eles personalizem a experiência mais de acordo com as necessidades do aplicativo.
Como personalizar a navegação pelo teclado?
<IgrGrid id="grid1" primaryKey="ProductID" onGridKeydown={customKeydown}> </IgrGrid> const customKeydown = (eventArgs: IgrGridKeydownEventArgs) => { const args = eventArgs.detail; const target= args.target; const evt = args.event; const type = args.targetType; if (type === 'dataCell' && target.editMode && evt.key.toLowerCase() === 'tab') { // 1. USER INPUT VALIDATION ON TAB } if (type === 'dataCell' && evt.key.toLowerCase() === 'enter') { // 2. CUSTOM NAVIGATION ON ENTER KEY PRESS } }
Exportar para Excel – Compartilhamento e análise de dados
O recurso Exportar para o Excel no React Grid permite exportar rapidamente dados de grade diretamente para o Excel. Esse formato permite React recursos como filtragem, classificação e compartilhamento de dados fora do aplicativo. Ao usar o Ignite UI for React, a funcionalidade de exportação de dados é encapsulada na classe ExcelExporterService e os dados são exportados no formato de tabela do MS Excel. Se você quiser fazer isso, terá que invocar o método Export de ExcelExporterService e passar o componente IgrGrid como o primeiro argumento para exportar a grade facilmente.

Casos de uso
- Compartilhar o progresso da tarefa entre a equipe ou as partes interessadas com um único clique, preservando todos os filtros.
- Preparar um relatório para uma reunião de equipe.
- Para um painel de vendas em que um gerente exporta dados de vendas filtrados.
How to Export Grid with Frozen Column Headers?
function exportEventFreezeHeaders(args: IgrExporterEventArgs) { args.detail.options.freezeHeaders = true; } <IgrGridToolbar> <IgrGridToolbarActions> <IgrGridToolbarExporter onExportStarted={exportEventFreezeHeaders}></IgrGridToolbarExporter> </IgrGridToolbarActions> </IgrGridToolbar>
Grade Dinâmica – Simplificando a Análise Complexa

O uso do Ignite UI para React Grade Dinâmica permite que você apresente dados em uma tabela dinâmica, permitindo que os usuários executem análises complexas no conjunto de dados fornecido. Não é exatamente um recurso, mas um componente completo que criamos para capacitar os usuários a organizar, resumir e filtrar grandes volumes de dados, que podem ser exibidos posteriormente em um formato de tabela cruzada. Existem recursos importantes React grade, como dimensões de linha, dimensões de coluna, agregações e filtros.
Casos de uso
- Para uma ferramenta de estilo Reveal ou painéis de dados personalizados para analistas de dados que precisam dividir e dividir dados diretamente no aplicativo, sem precisar exportar para outra ferramenta ou escrever consultas SQL.
- Um painel de administração do hospital que pode configurar e exibir dados em uma estrutura de tabela dinâmica multidimensional, analisando registros de pacientes.
- Um aplicativo de inventário de varejo que gira os níveis de estoque por categoria, local, etc.
Como ativar a grade dinâmica?
Aqui está uma configuração básica de pivô.
const pivotConfiguration1: IgrPivotConfiguration = { columns: [ new IgrPivotDateDimension({ enabled: true, memberName: "Date", }) ], rows: [ { enabled: true, memberName: "SellerCity" }, { enabled: true, memberName: "ProductName" } ], filters: [ { enabled: true, memberName: "SellerName" } ], values: [ { member: "ProductUnitPrice", displayName: "Amount of Sale", dataType: "currency", enabled: true, aggregate: { aggregatorName: "SUM", key: "SUM", label: "Sum of Sale", } } ] };
Essa configuração define 1 linha, 1 coluna e 1 agregação que soma os valores de cada grupo de dimensões. Os campos de correspondência de membros disponíveis na fonte de dados fornecida:
public data = [ [ { ProductName: `Clothing`, ProductUnitPrice: 12.8, SellerName: `Stanley Brooker`, SellerCity: `Seattle`, Date: `2007-01-01T00:00:00`, Value: 94.4, NumberOfUnits: 282 }, ];
Embrulhar
Ao selecionar uma grade de dados React, além do desempenho e do preço, você também deve considerar como os usuários reais interagirão com ela e quais recursos serão necessários para atender aos requisitos do aplicativo e às expectativas dos usuários. Recursos como Filtragem Avançada, Persistência de Estado, Navegação por Teclado e Exportação para Excel não são apenas uma necessidade.
Eles garantem melhor produtividade do desenvolvedor, experiência aprimorada do usuário, personalização e gerenciamento de dados escalável em vários cenários para aplicativos simples e complexos. E quando combinados com os recursos do Pivot Grid, tudo isso permite que você prepare seus aplicativos para o futuro e mantenha o código limpo para que seus projetos React possam evoluir com facilidade.