我有一个数据表,它的行数据是从rest api获得的.我希望能够 Select 一个特定的行,但所有行都被 Select 了.如何解决这个问题?
这是我的代码:
DataTable(
columns: const <DataColumn>[
DataColumn(label: Text('ID')),
DataColumn(label: Text('Visitor\'s Name')),
DataColumn(label: Text('Visit Date')),
DataColumn(label: Text('Time In')),
DataColumn(label: Text('Time Out')),
DataColumn(label: Text('Department')),
DataColumn(label: Text('Visitee')),
DataColumn(label: Text('Address')),
DataColumn(label: Text('Phone')),
DataColumn(label: Text('Purpose of Visit')),
],
rows: List.generate(snapshot.data!.length, (index) {
var data = snapshot.data![index];
return DataRow(
selected: rowSelected,
onSelectChanged: (index) {
// Handle row selection here
// print('Row ${rowData.id} selected: $isSelected');
setState(() {
rowSelected = index!;
});
},
cells: [
DataCell(Text(data.id.toString())),
DataCell(Text(data.visitor_name.toString())),
DataCell(Text(data.visit_date.toString())),
DataCell(Text(data.Time_in.toString())),
DataCell(TextFormField(initialValue: data.Time_out.toString())),
DataCell(Text(data.Department.toString())),
DataCell(Text(data.Visitee_name.toString())),
DataCell(Text(data.Address.toString())),
DataCell(Text(data.Phone.toString())),
DataCell(Text(data.Purpose_of_visit.toString())),
]);
}).toList(),
);
我try 添加一个onSelectedChanged属性,当我 Select 一行时,它会 Select 数据表中的每一行,