flutter - 在颤动的数据表中隐藏复选框
问题描述
我有一个需要编辑数量的数据表。我正在检测使用下面的代码选择了哪一行,但我想隐藏 CheckBox Column
关于如何在没有复选框列的情况下保持当前行为的任何建议?
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text(
"Sample",
style: TextStyle(color: Colors.white),
),
body: Column(children: <Widget>[
DataTable(
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,
));
}
}
解决方案
如果您在主频道而不是稳定频道,这是可能的。
您只需添加一个属性为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
推荐阅读
- python-3.x - 当我多次运行此代码片段时,它会在 python 中生成一个随机偶数,它会打印“无”一段时间。为什么会这样?
- java - Windows 上的 Java 时钟精度:15-16ms
- autohotkey - 使用连接文本+变量设置控件名称以供 ControlSetText 使用
- sql-server - 链接服务器“Servername”的 OLE DB 提供程序“SQLNCLI11”返回消息“没有处于活动状态的事务”。
- javascript - 将 onclick 事件添加到 Wix 表单
- python - 如何使用python捕获自动下载文件
- ios - 删除 tableView 中的项目会从存储的值中删除错误的对应文件(swift NSCoding)
- java - 有什么方法可以为多个 Runner 类运行的多个功能文件创建一个 Cucumber 报告?
- jmeter - JMeter正则表达式提取器一对一映射
- javascript - 使用 require.context 后如何动态加载 Vue 组件?