我正在实现DataTable
来显示一些数据,为此,我正在使用PaginatedDataTable
,所以我可以加载并显示数据,问题是我的{{1} }每行显示一个复选框,但我不希望这样做。
这是我当前的结果:
我想删除这些复选框,但我不知道该怎么做。
代码:
DataTable
答案 0 :(得分:1)
更新
现在在稳定频道上可用。
如果您在主频道上而不是在稳定频道上,这是有可能的。
您只需向DataTable
添加一个属性即可,showCheckboxColumn
为假。
编辑后的完整代码为
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text(
"Sample",
style: TextStyle(color: Colors.white),
),
body: Column(children: <Widget>[
DataTable(
showCheckboxColumn: false,
sortAscending: true,
columns: <DataColumn>[
DataColumn(
label: Text('Product name'),
),
DataColumn(
label: Text('Product Quantity'),
),
],
rows: items
.map(
(itemRow) => DataRow(
onSelectChanged: (bool selected) {
if (selected) {
//'row-selected: ${itemRow.index}'
}
},
cells: [
DataCell(
Text(itemRow.itemName),
showEditIcon: false,
placeholder: false,
),
DataCell(
Text(itemRow.itemQuantity),
showEditIcon: true,
placeholder: false,
//onTap: _getSelectedRowInfo,
),
],
),
)
.toList(),
)
]),
bottomNavigationBar: BottomNavigationBar(
items: const <BottomNavigationBarItem>[
BottomNavigationBarItem(
icon: Icon(Icons.home),
title: Text('Home'),
),
],
currentIndex: _selectedIndex,
selectedItemColor: Colors.amber[800],
onTap: _onItemTapped,
));
}
}
某些Flutter开发人员不建议将其更改为master,但是如果您没有问题,则可以使用以下命令进行更改:
flutter channel master
flutter upgrade
答案 1 :(得分:0)
当前仅通过省略onSelectionChange: ...
或通过null
代替
onSelectChanged: (bool value) {
print('Row selected: $value ${expense.name}');
},
https://docs.flutter.io/flutter/material/DataRow/onSelectChanged.html
答案 2 :(得分:0)
我在selected:
中删除了onSelectChanged:
和DataRow.byIndex()
这两个,并取消了复选框。
答案 3 :(得分:0)
从DataRow中删除 onSelectChanged 和 selected 属性,并将其添加到每个数据单元中。
DataCell(
Text(
employee.lastName.toUpperCase(),
),
onTap: () {
print("Tapped " + employee.firstName);
// do whatever you want
},
),