簡體   English   中英

如何獲取動態數據表 flutter 的選定行索引

[英]How to get selected row index of a dynamic datatable flutter

我有一個動態數據表,其中顯示的是數據。 現在我需要單擊該行並將相關數據傳遞給新的 class。 這是我嘗試過的,如何獲得點擊行的正確索引。

    rows: snapshot.data.rowData.map<DataRow>((e) {
     return DataRow(
        cells: e.map<DataCell>((e) => DataCell(Text(e))).toList(),
        onSelectChanged: (bool selected) {
            if (selected) {
        Navigator.push(
                context,
                MaterialPageRoute(
                    builder: (context) => new ImageGridAndListViewScreen(
                        zoomData:snapshot.data.dataList[index].NextLevelData))//here unable to get the selected row index
            );
          }
 
        },

      );
    }).toList(),

您需要在snapshot.data.rowData列表上編寫一個for loop ,以獲取要在onSelectChanged內部使用的索引。 像這樣的東西。

  List<DataRow> buildListOfDataRows(BuildContext context, WardsData wardsData){

    List<Ward> wards = wardsData.listOfWards;
    List<DataRow> dataRows = [];

    for(int i = 0; i < wards.length; i++) {

      String floorName = wards[i].floorName;
      int ot = wards[i].oxygenBedTotal;
      int oa = wards[i].oxygenBedAvailable;

      DataRow row = DataRow(
        cells: [
          DataCell(Text(floorName)),
          DataCell(Text('$ot')),
          DataCell(Text('$oa')),
        ],
        onSelectChanged: (_){
          showUpdatedByInfoPopUp(context, wards[i]);
        },
      );

      dataRows.add(row);
    }

    return dataRows;
  }

並在DataTable中使用這個 function 來構建行。

rows: buildListOfDataRows(context, wardsData)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM