首页 > 解决方案 > 是否可以为 DataTables 制作动态高度?

问题描述

大家好,我有一个问题。我有一个显示数据库数据的 DataTable。现在并不是我所有的数据长度都不同,有些更大,有些更小。我知道我可以制作一个固定的高度,dataRowHeight但这也意味着当我没有这么长的数据集要显示时,我有很多可用空间。是否可以进行dataRowHeight动态化以使其始终完美地适合每个数据集?

标签: androidflutterdartdatatable

解决方案


也许这样的方法可以帮助您实现目标?您可以根据用于填充 DataTable 的列表中的元素数来计算 dataRowHeight 的值。LayoutBuilder 为您提供最大值。可用高度。

    return LayoutBuilder(
      builder: (context, constraints) {
        final rowHeight = (constraints.maxHeight - 40) / someList.length;
        return DataTable(
          dataRowHeight: rowHeight,
          headingRowHeight: 40,
          showCheckboxColumn: false,
          columns: const <DataColumn>[
            DataColumn(
              label: Text(
                'FirstColumn',
              ),
            ),
            DataColumn(
              label: Text(
                'SecondColumn',
              ),
            ),
          ],
          rows: someList.map<DataRow>((element) {
            return DataRow(
              cells: <DataCell>[
                DataCell(
                  Text(
                    element[0],
                  ),
                ),
                DataCell(
                  Text(
                    element[1],
                  ),
                ),
              ],
            );
          }).toList(),
        );
      },
    );

推荐阅读