#database #flutter #dart #datatable
#База данных #трепетать #дротик #данные доступны
Вопрос:
Итак, у меня есть эта структура БД:
Мне нужно получить все наборы для каждого упражнения для тренировки для пользователя, а затем отобразить их в таблице данных.
StreamBuilderlt;QuerySnapshotgt;( stream: FirebaseFirestore.instance .collection("workouts") .doc(workoutId) .collection("exercises") .snapshots(), builder: (BuildContext context, AsyncSnapshotlt;QuerySnapshotgt; snapshot) { if (!snapshot.hasData) { return const Text("There are no exercises"); } return DataTable( decoration: BoxDecoration( border: Border.all( width: 2, color: kBlack, ), ), dataRowHeight: SizeConfig.screenHeight * 0.05, dataTextStyle: const TextStyle( fontSize: kAppButtonTextFontSize, color: kAppTextColor), headingRowHeight: SizeConfig.screenHeight * 0.05, headingTextStyle: const TextStyle(fontSize: kAppButtonTextFontSize), //horizontalMargin, columnSpacing: 20, showCheckboxColumn: true, showBottomBorder: false, dividerThickness: 3, columns: const [ DataColumn( label: Text( "Set#", style: TextStyle( fontStyle: FontStyle.italic, color: kBlack, ), ), numeric: true, ), DataColumn( label: Text( "Weight", style: TextStyle( fontStyle: FontStyle.italic, color: kBlack, ), ), numeric: true, //tooltip: "This is Last Name", ), DataColumn( label: Text( "Reps", style: TextStyle( fontStyle: FontStyle.italic, color: kBlack, ), ), numeric: true, ), DataColumn( label: Text( "ToFailure", style: TextStyle( fontStyle: FontStyle.italic, color: kBlack, ), ), numeric: true, ), ], rows: _getExercises(snapshot),// Here I want to get the rows ); }); _getExercises(AsyncSnapshotlt;QuerySnapshotgt; snapshot) { setState(() { //How to structure the data here so as to get DataRows snapshot.data!.docs.forEach((doc) { //print( // 'DOCUMENT DATA =' doc.data().toString(), // ); completedExerciseSetRows.add( DataRow(cells: [ DataCell(Text()), DataCell(Text()), DataCell(Text()), ]), ); }); });
Комментарии:
1. было бы полезно, если бы вы предоставили свой класс или классы модели данных (если они у вас есть) и изображение того, как будет выглядеть ваша база данных. я раскрыл похожее дело, надеюсь, я смогу вам помочь
2. У меня нет класса модели, для этого он не требуется. Я добавил изображение того, как должна выглядеть таблица данных.