Datentabelle mit Einspaltensortierung, UND-Textfiltern, Pagination, Auswahl und eigenen Zellen.
TxDataGrid
| Parameter | Typ | Standard | Bedeutung |
|---|---|---|---|
| dataSource | Object | erforderlich | Liste, Konfiguration oder DataSource-Instanz; hat Vorrang vor items. |
| keyOf | Object Function(T row) | erforderlich | Liest den stabilen Datensatzschlüssel. |
| columns | List<TxColumn<T>> | erforderlich | Spalten- beziehungsweise Kartenfeldkonfigurationen. |
| filterRow | bool | true | Zeigt die Textfilterzeile. |
| pageSize | int | 10 | Anzahl Datensätze je Seite. |
| pageIndex | int? | null | Nullbasierter Seitenindex. |
| onPageIndexChanged | ValueChanged<int>? | null | Meldet pageIndex; kontrollierten Zustand im Callback aktualisieren. |
| selection | TxSelectionMode | TxSelectionMode.none | Auswahlmodus. |
| selectedRowKeys | Set<Object>? | null | Kontrollierte Menge ausgewählter Zeilenschlüssel. |
| onSelectedRowKeysChanged | ValueChanged<Set<Object>>? | null | Meldet selectedRowKeys; kontrollierten Zustand im Callback aktualisieren. |
| onSelectionChanged | ValueChanged<TxSelection<T>>? | null | Meldet selection; kontrollierten Zustand im Callback aktualisieren. |
| onRowClick | ValueChanged<T>? | null | Meldet den angeklickten Datensatz. |
| onSortChanged | void Function(String? field, bool descending)? | null | Meldet sort; kontrollierten Zustand im Callback aktualisieren. |
| onFilterChanged | ValueChanged<Map<String, String>>? | null | Meldet filter; kontrollierten Zustand im Callback aktualisieren. |
| loading | bool | false | Zeigt den Ladezustand. |
| disabled | bool | false | Sperrt die Interaktion. |
| noDataText | String | 'Keine Daten vorhanden.' | Text bei leerem Datenbestand. |
| label | String | 'Datentabelle' | Beschriftung beziehungsweise zugänglicher Name. |
import 'package:flutter/material.dart';
import 'package:tecexpress/tecexpress.dart';
Widget example() {
final rows = <Map<String, Object>>[{'id': 1, 'name': 'Alex'}];
return TxDataGrid<Map<String, Object>>(dataSource: rows, keyOf: (row) => row['id']!, columns: [TxColumn(caption: 'Name', valueGetter: (row) => row['name'])]);
}