Класс DataTableSource
Класс DataTableSource не хранит виджеты заранее.
Таблица спрашивает getRow(index) и rowCount.
Источник передают в
PaginatedDataTable.
Синтаксис
PaginatedDataTable(source: source, columns: columns, header: header)
Пример
Давайте показать одну строку abcde:
import 'package:flutter/material.dart';
class DemoSource extends DataTableSource
{
@override
DataRow? getRow(int index)
{
return DataRow(cells: [DataCell(Text('abcde'))]);
}
@override
bool get isRowCountApproximate => false;
@override
int get rowCount => 1;
@override
int get selectedRowCount => 0;
}
void main()
{
runApp(
MaterialApp(
home: Scaffold(
body: PaginatedDataTable(
header: Text('12345'),
source: DemoSource(),
columns: [
DataColumn(label: Text('abcde')),
],
),
),
),
);
}
На экране заголовок '12345' и одна ячейка 'abcde'.
Смотрите также
-
виджет
PaginatedDataTable,
который листает строки этого источника -
виджет
DataTable,
который рисует все строки сразу -
класс
DataRow,
одна строка, которую возвращает getRow -
класс
DataCell,
одна ячейка строки