是否可以为 DataTables 设置动态高度?
Is it possible to make a dynamic height for DataTables?
大家好,我有一个问题。我有一个数据表,我在其中显示我的数据库数据。现在并不是我所有的数据长度都不一样,有些更大,有些更小。我知道我可以使用 dataRowHeight
制作固定高度,但这也意味着当我没有这么长的数据集要显示时,我有很多免费的 space。是否可以使 dataRowHeight
动态化,以便它始终完美地适合每个数据集?
也许这样的方法可以帮助您实现目标?您可以根据用于填充 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(),
);
},
);
大家好,我有一个问题。我有一个数据表,我在其中显示我的数据库数据。现在并不是我所有的数据长度都不一样,有些更大,有些更小。我知道我可以使用 dataRowHeight
制作固定高度,但这也意味着当我没有这么长的数据集要显示时,我有很多免费的 space。是否可以使 dataRowHeight
动态化,以便它始终完美地适合每个数据集?
也许这样的方法可以帮助您实现目标?您可以根据用于填充 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(),
);
},
);