Search packages, repositories and app categories

GitHub repositoryted-marozzi/data-grid

data-grid

High Performance Data Grid optimised for large numeric tables.

data-grid project cover
Stars
8
Forks
4
Last push (UTC)
Nov 25, 2022
Project status
Active

Original README

English project snapshot. Visit GitHub for the latest content.

This package is in development and breaking changes may be made at any time.

Data Grid is a performance focused data grid optimized for large numeric tables.

Features

  • Builders to prevent unnecessary rendering of data.
  • Performant layout algorithm, either a fixedWidth or autoFitWidth that doesn't need to perform the expensive task of computing a each widgets getMinIntrinsicWidth
  • Frozen header row and column headers

Grid widget for dart that features a frozen left and header column grid

Getting started

In the command line

flutter pub get data_grid

Usage

class MyWidget extends StatelessWidget {
  const MyWidget({Key? key}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return Grid(
      columns: [
        GridColumn.autoFitWidth(text: "Hello"),
        GridColumn.autoFitWidth(text: "World"),
      ],
      rows: [
        GridRow(children: [
          GridCell.autoFitWidth(text: "123.12", sortValue: 123.12),
          GridCell.autoFitWidth(text: "12", sortValue: 12),
        ])
      ],
    );
  }
}
Selectable Rows, Highlighted Rows

On Desktop and web, rows are by default highlighted when the mouse cursor is hovered over them. Rows can be selected by passing selectedRowIndex. Highlighted and selected styles can be configured in DataGridThemeData.

Frozen Headers

By default column headers are frozen, this means that row content will scroll underneath them.

By default row headers are frozen, however this can be disabled using hasRowHeader boolean.

Ted Marozzi GitHub avatar
GitHub author

Ted Marozzi ↗

Software enthusiast @canva and building https://www.mermaidflow.app

LanguagesDartC++CMakeHTMLCSwiftKotlinObjective-C

Categories

Dependencies used

Dependency list 4 items

  • flutter{"sdk":"flutter"}
  • sync_scroll_controller^1.0.1
  • flutter_testDevelopment{"sdk":"flutter"}
  • flutter_lintsDevelopment^2.0.0

How do I choose a repository?

Start with your use case, compare repository activity, and check the original project before adopting it.

  1. Search by repository name, owner or description, then narrow the results by topic.
  2. Compare stars, forks and recent pushes. Stars show community interest, not a guarantee of quality.
  3. Read the README, license and issues on GitHub before using a project.

Sources and maintenance

“A repository is the most basic element of GitHub.”

GitHub Docs — About repositories ↗