How can I add a Map widget in a Datarow list in Flutter?

36 views Asked by At
                  void applyFilter(String query) {
                    tableRow();
                    if (query.isEmpty) {
                      setState(() {
                        tableRow();
                      });
                    } else {
                      List<DataRow> filteredRows = [];

                      for (int i = 0; i < rows.length; i++) {
                        for (int j = 0; j < rows[i].cells.length; j++) {
                          if (data.values
                                  .elementAt(i)
                                  .values
                                  .elementAt(j)
                                  .toString()
                                  .toLowerCase()
                                  .contains(query.toLowerCase()) &&
                              selectedList.contains(
                                  data.values.elementAt(i).keys.elementAt(j))) {
                            // print(
                            //     'data i: ${data.values.elementAt(i).values.elementAt(j)}');
                            // print('rows i: ${rows[i].cells[j].child}');
                            // filteredRows.add(rows[i]);

                            // print(
                            //     'data ${data.values.elementAt(i).values.elementAt(j)}');

                            // print('rows ${rows[i].cells[j].child}');

                            print(data.values.elementAt(0));
                            print(rows[0]);

                            filteredRows.add(rows[i]);

                            // non va tanto bene che invia le righe sarebbe da correggere con l'invio diretto della variabile data
                            // non lo fa nemmeno castare perche sarebbe da ricreare la datarow
                            break;
                          }
                        }
                      }
                      setState(() {
                        rows.clear();
                        rows.addAll(filteredRows);
                      });
                    }
                  }


I'm trying to insert data.values.elementAt(i) in filteredRows.add(HERE) to replace filteredRows.add(rows[I]) because the values in the map that i created form firebase Streambuilder snapshot is in a different order than the DataCells in the rows. Actually in this mode the code works but I can't use the key parameters in data variable data.values.elementAt(i).keys.elementAt(j) because data and rows don't contains the elements in the same order.

0

There are 0 answers