我有一个DataTable
,我想根据用户的日期选择动态。因此,列数将不同。
我当前的代码从Firestore集合中创建了一个List<Map>
,用于标题,另一个用于行/单元格值。当比较标题和单元格内容的长度时,它们的大小相同。
我当前创建表的代码:
// Just providing more detail about the variables used
List<DataColumn> dataColumns = [];
List<DataCell> dataRows = [];
dataColumns = newDateRange.map((string) =>
DataColumn(label: Text(string))).toList();
dataRows = listOfRows.map((cell) => DataCell(Text(cell.toString()))).toList();
// DataTable creation
DataTable(
columnSpacing: dataTableColumnSpacing,
border: dataTableBorder,
decoration: dataTableBoxDecoration,
columns: dataColumns,
rows: [DataRow(cells: dataRows)],
)
根据我的测试,列标题按预期工作,所以rows部分有问题-变量声明,map部分或DataTable创建中的rows部分。
我得到的错误是行长度不等于列长度。
任何帮助和/或指导将不胜感激。
1条答案
按热度按时间igetnqfo1#
假设我有标题列表
List< Headers >?headers = [.....];
我的专栏看起来像这样:
现在单元格应该与列数相同:在数据行中。
现在你可以看到列和单元格的列表是相等的。
现在你需要将行列表添加到行中:
注意:我已经header.name用element ['name']替换了www.example.com,因为我想在单元格中添加name。因为你想要不同的价值观,我不知道你的结构。
您只需确保您的列的类型应为1xM,其中M是列数
此外,您需要确保您的行的大小为NXM N可以是任何数量的行。