【问题标题】:Flutter || Firestore: how to retrieve data from firestore and display it in the DataTable颤振 || Firestore:如何从 Firestore 中检索数据并将其显示在 DataTable 中
【发布时间】: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


    【解决方案1】:

    对于那些正在寻找该问题的答案的人,这就是我的想法;

    我修改了buildList;

    DataRow buildList(allData, i) {
        return 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'])),
        ]);
      }
    

    这就是你调用这个函数的方式;

     rows: List.generate(allData.length, (index) =>
                              buildList(allData, index))
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-06-05
      • 2020-08-13
      • 2020-08-09
      • 2021-10-10
      • 1970-01-01
      • 2020-04-07
      • 1970-01-01
      • 2021-11-28
      相关资源
      最近更新 更多