我无法在Flutter中对DataTable小部件中的DataCell中的文本进行换行。尝试将DataCell放入容器并分配宽度,但不起作用。寻找一些解决方案来解决这个问题。
数据表的代码如下。这个展开的小部件位于一个列中,顶部是一些其他小部件。
Expanded(
child: SingleChildScrollView(
child: DataTable(
columnSpacing: 5,
columns: <DataColumn>[
DataColumn(
label: Container(
width: 30,
child: Align(
alignment: Alignment.center,
child: Text(
"Itemm",
style: TextStyle(
fontWeight: FontWeight.bold,
),
),
),
),
),
DataColumn(
label: Container(
width: 30,
child: Align(
alignment: Alignment.center,
child: Text(
"Price",
style: TextStyle(
fontWeight: FontWeight.bold,
),
),
),
),
),
DataColumn(
label: Container(
width: 30,
child: Align(
alignment: Alignment.center,
child: Text(
"Quantity",
style: TextStyle(
fontWeight: FontWeight.bold,
),
),
),
),
),
DataColumn(
label: Container(
width: 30,
child: Align(
alignment: Alignment.center,
child: Text(
"Discount %",
style: TextStyle(
fontWeight: FontWeight.bold,
),
),
),
),
),
DataColumn(
label: Container(
width: 30,
child: Align(
alignment: Alignment.center,
child: Text(
"Total",
style: TextStyle(
fontWeight: FontWeight.bold,
),
),
),
),
),
],
rows: bill
.map((element) => DataRow(
cells: <DataCell>[
DataCell(
Align(
alignment: Alignment.center,
child: Text(
element.itemName,
),
),
),
DataCell(
Align(
alignment: Alignment.center,
child: Text(element.price),
),
),
DataCell(
Align(
alignment: Alignment.center,
child: Text(element.quantity),
),
),
DataCell(
Align(
alignment: Alignment.center,
child: Text(element.discount),
),
),
DataCell(
Align(
alignment: Alignment.center,
child: Text(element.total),
),
),
],
))
.toList())),
),
谢谢
发布于 2020-09-14 05:35:45
虽然我没有得到你的数据,但我不能解决这个问题,但你可以尝试下面的方法。
Container(
width: 100,
child:
Text("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"),
)
发布于 2020-11-25 20:20:26
你可以这样解决这个问题
SizeBox(width: 100,
child:
Text("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"),
)
https://stackoverflow.com/questions/63874520
复制相似问题