| 12345678910111213141516171819202122232425262728293031323334353637 |
- DataTable _createDataTable() {
- return DataTable(
- columns: _createColumns(),
- rows: _createRows(),
- sortColumnIndex: _currentSortColumn,
- sortAscending: _isSortAsc,
- );
- }
- List<DataColumn> _createColumns() {
- return [
- DataColumn(
- label: Text('ID'),
- onSort: (columnIndex, _) {
- setState(() {
- _currentSortColumn = columnIndex;
- if (_isSortAsc) {
- _books.sort((a, b) => b['id'].compareTo(a['id']));
- } else {
- _books.sort((a, b) => a['id'].compareTo(b['id']));
- }
- _isSortAsc = !_isSortAsc;
- });
- },
- ),
- DataColumn(label: Text('Book')),
- DataColumn(label: Text('Author'))
- ];
- }
- List<DataRow> _createRows() {
- return _books
- .map((book) => DataRow(cells: [
- DataCell(Text('#' + book['id'].toString())),
- DataCell(Text(book['title'])),
- DataCell(Text(book['author']))
- ]))
- .toList();
- }
|