1
0

datatable.dart.bak 1.0 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. DataTable _createDataTable() {
  2. return DataTable(
  3. columns: _createColumns(),
  4. rows: _createRows(),
  5. sortColumnIndex: _currentSortColumn,
  6. sortAscending: _isSortAsc,
  7. );
  8. }
  9. List<DataColumn> _createColumns() {
  10. return [
  11. DataColumn(
  12. label: Text('ID'),
  13. onSort: (columnIndex, _) {
  14. setState(() {
  15. _currentSortColumn = columnIndex;
  16. if (_isSortAsc) {
  17. _books.sort((a, b) => b['id'].compareTo(a['id']));
  18. } else {
  19. _books.sort((a, b) => a['id'].compareTo(b['id']));
  20. }
  21. _isSortAsc = !_isSortAsc;
  22. });
  23. },
  24. ),
  25. DataColumn(label: Text('Book')),
  26. DataColumn(label: Text('Author'))
  27. ];
  28. }
  29. List<DataRow> _createRows() {
  30. return _books
  31. .map((book) => DataRow(cells: [
  32. DataCell(Text('#' + book['id'].toString())),
  33. DataCell(Text(book['title'])),
  34. DataCell(Text(book['author']))
  35. ]))
  36. .toList();
  37. }