Pakete, Repositories und App-Kategorien suchen

Cover von flex_grid
Paketdetailsv5.1.0

flex_grid

Der FlexGrid zeigt Daten in einer tabellarischen Darstellung an. Er umfasst gefrorene Spalten/Zeilen, das Laden weiterer Daten, hohe Leistung und eine bessere Erfahrung in TabBarView/PageView.

AndroidiOSWebmacOSWindowsLinux
30-Tage-Downloads
157
Likes
51
Pub-Punkte
130

Paket installieren

flutter pub add flex_grid

Paketübersicht

Aus öffentlichen Paketdaten erstellte Orientierung.

FlexGrid ist ein leistungsstarker Tabellen-Widget für Flutter, der Daten in tabellarischer Form darstellt und Funktionen wie gefrorene Spalten und Zeilen, unendliches Scrollen mit Nachladen sowie optimierte Darstellung für reibungslose Leistung in dynamischen Umgebungen wie TabBarView oder PageView unterstützt. Für große Datensätze entwickelt, sorgt es für reaktionsfähige Benutzererfahrungen auf allen Plattformen, einschließlich Mobilgeräte, Web und Desktop. Das Paket ist ideal für datenintensive Anwendungen, die eine effiziente Layoutverwaltung und visuelle Klarheit erfordern.

Anwendungsfälle

  • Anzeige großer Datensätze in tabellarischer Form
  • Erstellen von scrollbaren Tabellen mit festen Kopfzeilen
  • Paginierte oder unendliche Listen innerhalb von Tabs implementieren
  • Daten-Dashboards mit gefrorenen Spalten erstellen
  • Leistungsoptimierung in verschachtelten navigativen Ansichten

Hauptmerkmale

  • Gefrorene Spalten und Zeilen für bessere Navigation
  • Unendliches Laden mit Funktion zum 'Weitere laden'
  • Leistungsstarke Rendern großer Datensätze
  • Nahtlose Integration mit TabBarView/PageView
  • Plattformübergreifende Kompatibilität (Android, iOS, Web, macOS, Windows, Linux)

Geeignet für

  • datenintensive Anwendungen
  • Administrationspanele und Dashboards
  • Mobile und Web-Anwendungen mit komplexen Tabellen
  • Entwickler, die eine effiziente Tabellenanzeige benötigen
  • Projekte, die TabBarView oder PageView für die Navigation verwenden

Hinweise

  • Erfordert sorgfältige Handhabung großer Datensätze, um Speicherprobleme zu vermeiden
  • Möglicherweise sind benutzerdefinierte Stile für komplexe Zellenlayouts erforderlich
  • Die Leistung hängt von der Datenmenge und Komplexität ab
  • Eingeschränkte integrierte Bearbeitungsfunktionen
  • Am besten geeignet für Lese- oder einfache Interaktionsszenarien

Original-README

Originaler README-Schnappschuss aus dem verknüpften Quell-Repository. Aktuelle Inhalte finden Sie im Repository.

flex_grid

pub package GitHub stars GitHub forks GitHub license GitHub issues FlutterCandies QQ 群

Language: English| 中文简体

The FlexGrid control provides a powerful and quickly way to display data in a tabular format. It is including that frozened column/row,loading more, high performance and better experience in TabBarView/PageView.

parameter description default
frozenedColumnsCount The count of forzened columns 0
frozenedRowsCount The count of forzened rows 0
cellBuilder The builder to create cell required
cellBuilder The builder to create header required
columnsCount The count of columns, it should big than 0 required
source The data source of [FlexGrid] required
rowWrapper decorate row widget in this call back null
rebuildCustomScrollView rebuild when source is changed, It's from [LoadingMoreCustomScrollView] false
controller The [ScrollController] on vertical direction null
horizontalController The [SyncControllerMixin] for horizontal direction null
outerHorizontalSyncController The Outer [SyncControllerMixin], for example [ExtendedTabBarView] or [ExtendedPageView]. It make better experience when scroll on horizontal direction null
physics The physics on both horizontal and vertical direction null
verticalHighPerformance/horizontalHighPerformance If true, forces the children to have the given extent(Cell height/width) in the scroll direction. false
headerStyle An immutable style describing how to create header CellStyle.header()
cellStyle An immutable style describing how to create cell CellStyle.cell()
indicatorBuilder Widget builder for different loading state, it's from [LoadingMoreCustomScrollView] null
extendedListDelegate A delegate that provides extensions, it's from [LoadingMoreCustomScrollView] null
headersBuilder The builder to custom the headers of [FlexGrid] null
link if link is true, scroll parent [ExtendedTabView] when [FlexGrid] is over scroll false

source

[FlexGrid.source] is form loading_more_list, LoadingMoreBase is data collection for loading more. override loadData method to load your data. set hasMore to false when it has no more data.

class FlexGridSource extends LoadingMoreBase<GridRow> {
  int _pageIndex = 1;

  void _load() {
    for (int i = 0; i < 15; i++) {
      add(GridRow(name: 'index:$_pageIndex-$i'));
    }
  }

  @override
  bool get hasMore => _pageIndex < 4;

  @override
  Future<bool> loadData([bool isloadMoreAction = false]) async {
    await Future<void>.delayed(const Duration(seconds: 2));
    _load();
    _pageIndex++;
    return true;
  }

  @override
  Future<bool> refresh([bool notifyStateChanged = false]) async {
    _pageIndex = 1;
    return super.refresh(notifyStateChanged);
  }
}

rowWrapper

decorate row widget in this call back.

    FlexGrid(
      rowWrapper: (
        BuildContext context,
        T data,
        int row,
        Widget child,
      ) {
        return Column(
          children: <Widget>[
            child,
            const Divider(),
          ],
        );
      },
    );

headersBuilder

you can add anyother headers in this call back.

    FlexGrid(
      headersBuilder: (BuildContext b, Widget header) {
        return <Widget>[
          header,
          SliverToBoxAdapter(
            child: PullToRefreshContainer(
                (PullToRefreshScrollNotificationInfo info) {
              return PullToRefreshHeader(
                info,
                source.lastRefreshTime,
              );
            }),
          ),
        ];
      },
    );

Kategorien

Abhängigkeiten

Abhängigkeiten 4 Einträge

Quell-Repository

Projekte, die dieses Paket verwenden

Noch keine Daten verfügbar.