FLUTTER ECOSYSTEM

ted-marozzi/data-grid

大規模な数値テーブル用に最適化された高性能データグリッド。

データグリッド のプロジェクト画像
Stars
8
Forks
4
最終プッシュ(UTC)
2022/11/25
プロジェクト状態
公開中
Ted Marozzi GitHub avatar
GITHUB User

Ted Marozzi ↗

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

言語DartC++CMakeHTMLCSwiftKotlinObjective-C

技術トピック

使用している依存関係

依存関係一覧 4 件
  • flutter{"sdk":"flutter"}
  • sync_scroll_controller^1.0.1
  • flutter_test開発用{"sdk":"flutter"}
  • flutter_lints開発用^2.0.0

元の README

以下は英語原文のスナップショットです。最新版は GitHub をご覧ください。

README を開く / 閉じる

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.