这个问题实际上很简单,但是:是否可以在多个列上对DataTable进行排序?这样用户可以决定是否对它进行排序,例如“名称”或“年份”?
如果可能的话,如何实现?
您可以像这样在每列中使用onSort
DataColumn(
label: Text('name'),
onSort: (columnIndex, sortAscending) {
setState(() {
if (columnIndex == _sortColumnIndex) {
_sortAsc = _sortNameAsc = sortAscending;
} else {
_sortColumnIndex = columnIndex;
_sortAsc = _sortNameAsc;
}
_persons.sort((a, b) => a.name.compareTo(b.name));
});
},
),