Buscar pacotes, repositórios e categorias de apps

Capa de pluto_grid
Detalhes do pacotev8.1.0

pluto_grid

PlutoGrid é uma grade de dados que pode ser controlada pelo teclado em desktop e web. É claro que funciona bem no Android e no iOS. (DataGrid, DataTable, Grade de Dados, Tabela de Dados, Fixo)

AndroidiOSWebmacOSWindowsLinux
Downloads em 30 dias
31,9 mil
Curtidas
1,1 mil
Pontos Pub
160

Instalar pacote

flutter pub add pluto_grid

Visão geral do pacote

Orientação gerada a partir de informações públicas. Apenas para referência.

PlutoGrid é um componente de grade de dados versátil para Flutter que suporta navegação por teclado em plataformas desktop e web, mantendo funcionalidade completa em dispositivos móveis. Oferece uma interface de tabela responsiva e personalizável ideal para exibir dados estruturados com recursos como cabeçalhos fixos, ordenação e filtragem. Projetado para desenvolvedores que buscam uma solução acessível e interativa para exibição de dados em múltiplas plataformas, o PlutoGrid melhora a experiência do usuário por meio de controles intuitivos e desempenho suave.

Casos de uso

  • Exibindo grandes conjuntos de dados em aplicativos da web
  • Criando tabelas de dados acessíveis para usuários de desktop
  • Construindo painéis de administração com grades interativas
  • Implementando cabeçalhos fixos em tabelas de dados
  • Habilitar navegação por teclado em grades de dados

Principais recursos

  • Suporte à navegação por teclado em desktop e web
  • Cabeçalhos e colunas grudados
  • Compatibilidade entre plataformas (Android, iOS, Web, macOS, Windows, Linux)
  • Renderização de célula personalizável
  • Classificação e filtragem embutidas
  • Design responsivo para todos os tamanhos de tela

Indicado para

  • Desenvolvedores construindo aplicativos web com grande volume de dados
  • Equipes priorizando acessibilidade e interação com teclado
  • Designers de interface precisando de componentes de tabela flexíveis
  • Aplicações que exigem cabeçalhos grudados e manipulação avançada de dados
  • Projetos com foco em múltiplas plataformas com interface do usuário consistente

Considerações

  • Pode exigir estilos adicionais para layouts complexos
  • O desempenho com conjuntos de dados extremamente grandes precisa ser monitorado
  • Documentação limitada em comparação com alternativas maduras
  • A navegação por teclado pode precisar de personalização para casos de uso específicos
  • Não otimizado para atualizações de dados muito frequentes

README original

Snapshot do README original do repositório-fonte vinculado. Consulte o repositório para o conteúdo mais recente.

PlutoGrid for flutter - v8.1.0

Awesome Flutter codecov License: MIT


PlutoGrid is a DataGrid that can be operated with the keyboard in various situations such as moving cells.
It is developed with priority on the web and desktop.
Improvements such as UI on mobile are being considered.
If you comment on an issue, mobile improvements can be made quickly.


Demo Web

You can try out various functions and usage methods right away.
All features provide example code.


Pub.Dev

Check out how to install from the official distribution site.


Documentation

The documentation has more details.


ChangeLog

Please note the changes when changing the version of PlutoGrid you are using.


Issue

Report any questions or errors.


Packages

PlutoGridExport
This package can export the metadata of PlutoGrid as CSV or PDF.


Screenshots
Change the color of the rows or make the cells look the way you want them.

PlutoGrid Normal


Date type input can be easily selected by pop-up and keyboard.

PlutoGrid Select Popup


The selection type column can be easily selected using a pop-up and keyboard.

PlutoGrid Select Date


Group columns by desired depth.

PlutoGrid Cell renderer


Grid can be expressed in dark mode or a combination of desired colors. Also, freeze the column, move it by dragging, or adjust the size.

PlutoGrid Multi select


Example

Generate the data to be used in the grid.


List<PlutoColumn> columns = [

  /// Text Column definition
  PlutoColumn(
    title: 'text column',
    field: 'text_field',
    type: PlutoColumnType.text(),
  ),

  /// Number Column definition
  PlutoColumn(
    title: 'number column',
    field: 'number_field',
    type: PlutoColumnType.number(),
  ),

  /// Select Column definition
  PlutoColumn(
    title: 'select column',
    field: 'select_field',
    type: PlutoColumnType.select(['item1', 'item2', 'item3']),
  ),

  /// Datetime Column definition
  PlutoColumn(
    title: 'date column',
    field: 'date_field',
    type: PlutoColumnType.date(),
  ),

  /// Time Column definition
  PlutoColumn(
    title: 'time column',
    field: 'time_field',
    type: PlutoColumnType.time(),
  ),
];

List<PlutoRow> rows = [
  PlutoRow(
    cells: {
      'text_field': PlutoCell(value: 'Text cell value1'),
      'number_field': PlutoCell(value: 2020),
      'select_field': PlutoCell(value: 'item1'),
      'date_field': PlutoCell(value: '2020-08-06'),
      'time_field': PlutoCell(value: '12:30'),
    },
  ),
  PlutoRow(
    cells: {
      'text_field': PlutoCell(value: 'Text cell value2'),
      'number_field': PlutoCell(value: 2021),
      'select_field': PlutoCell(value: 'item2'),
      'date_field': PlutoCell(value: '2020-08-07'),
      'time_field': PlutoCell(value: '18:45'),
    },
  ),
  PlutoRow(
    cells: {
      'text_field': PlutoCell(value: 'Text cell value3'),
      'number_field': PlutoCell(value: 2022),
      'select_field': PlutoCell(value: 'item3'),
      'date_field': PlutoCell(value: '2020-08-08'),
      'time_field': PlutoCell(value: '23:59'),
    },
  ),
];

Create a grid with the data created above.

  @override
Widget build(BuildContext context) {
  return Scaffold(
    appBar: AppBar(
      title: const Text('PlutoGrid Demo'),
    ),
    body: Container(
      padding: const EdgeInsets.all(30),
      child: PlutoGrid(
          columns: columns,
          rows: rows,
          onChanged: (PlutoGridOnChangedEvent event) {
            print(event);
          },
          onLoaded: (PlutoGridOnLoadedEvent event) {
            print(event);
          }
      ),
    ),
  );
}

Flutter version compatible
Flutter PlutoGrid
3.38.0 or higher 8.1.0 or higher
3.19.0 or higher 8.0.0 or higher
3.10.0 or higher 7.0.0 or higher
3.7.0 or higher 6.0.0 or higher
3.3.0 or higher 5.0.6 or higher
3.0.0 or higher 3.0.0-0.pre or higher
2.5.0 or higher 2.5.0 or higher

For other versions, contact the issue


Related packages

develop packages that make it easy to develop admin pages or CMS with Flutter.


Donate to this project

Buy me a coffee


Jetbrains provides a free license

IDE license support

Categorias

Dependências

Lista de dependências 3 itens

Repositório-fonte

Projetos que usam este pacote