【发布时间】:2021-08-26 09:13:14
【问题描述】:
我正在尝试从 firestore 检索数据并将其显示在 DataTable 上。一切正常,但我在为每个用户信息创建 DataRow 列表时遇到问题。
List<DataRow> buildList(allData){
List? dataRowList;
for(int i =0; i <allData.length; i++){
DataRow(cells: [
DataCell(
Text(allData[i]['customerNumber']),
),
DataCell(Text(allData[i]['Name'])),
DataCell(Text(allData[i]['TCKN'])),
DataCell(Text(allData[i]['VKN'])),
DataCell(Text(allData[i]['paketAdi'])),
DataCell(
Text(
allData[i]['status'],
style: TextStyle(
color: allData[i]['status'] == "Tamamlandı"
? Colors.green
: allData[i]['status'] == "İşlem Başarısız"
? Colors.red
: allData[i]['status'] ==
"Belgeler Bankada"
? Colors.cyanAccent
: Colors.blue),
),
),
DataCell(Text(allData[i]['startDate'])),
DataCell(Text(allData[i]['endDate'])),
]);
}
return null;
}
如何返回 DataRows 列表并按如下方式使用它们:
FutureBuilder(
future: getUserInfoData(),
builder: (BuildContext context, AsyncSnapshot<List> snapshot) {
if (!snapshot.hasData) return LinearProgressIndicator();
List? allData = snapshot.data;
return DataTable(
columnSpacing: 22,
columns: [
DataColumn(label: Text('Müşteri No')),
DataColumn(label: Text('İsim Soyisim')),
DataColumn(label: Text('TCKN')),
DataColumn(label: Text('VKN')),
DataColumn(label: Text('Paket Adı')),
DataColumn(label: Text('Paket Durumu')),
DataColumn(label: Text('Baslangic Tarih')),
DataColumn(label: Text('Bitis Tarih')),
],
rows: buildList(allData),
);
},
)
提前谢谢你!
【问题讨论】:
标签: flutter google-cloud-firestore datatable