Flutter, как программно изменить страницу в PaginatedDataTable?
У меня есть PaginatedDataTable и панель поиска, она отлично работает, но когда я искал, мой DataTable не переходит на первую страницу. Когда я нажимаю первую страницу, это первая страница, и отображается мой новый отфильтрованный список. Как я могу программно изменить страницу в dataTable?
Это моя PaginatedDataTable
PaginatedDataTable paginatedDataTable = PaginatedDataTable(
actions: [
AnimatedSearchBar(
width: 300,
textController: _searchController,
onSuffixTap: () {
setState(() {
_searchController.text = "";
});
}),
widget.showDialog == null
? SizedBox()
: AddUpdateButton(
buttonType: ButtonTypes.add,
onPressed: widget.showDialog,
)
],
initialFirstRowIndex: firstRowIndex,
source: dts,
rowsPerPage: _rowsPerPage,
header: Text(
widget.title,
style: CustomTextStyle.mblackBoldTextStyle,
),
sortColumnIndex: _sortColumnIndex,
sortAscending: _sortAscending,
availableRowsPerPage: [
_defaultRowsPerPage,
_defaultRowsPerPage * 2,
_defaultRowsPerPage * 5,
_defaultRowsPerPage * 10
],
showCheckboxColumn: false,
dataRowHeight: widget.dataRowHeight,
showFirstLastButtons: true,
onRowsPerPageChanged: (r) {
setState(() {
_rowsPerPage = r;
});
},
columns: widget.headerList.map((e) {
return DataColumn(
label: Text(e.name.toUpperCase()),
onSort: (int columnIndex, bool ascending) {
if (e.sort) {
return _sort(
(T d) => d.getProp(e.propName), columnIndex, ascending);
}
});
}).toList(),
);
1 ответ
Я создаю ключ
final key = new GlobalKey<PaginatedDataTableState>();
Дайте ключ PaginatedDataTable
PaginatedDataTable(
key: key
...)
и я использую эту функцию
key.currentState.pageTo(0);
вы можете посмотреть этот вопрос для использования состояния ключа: Ссылка