我想在 a 中显示一些数据DataTable,我有 9 列,除了第一列之外,所有列都是数字。
我遇到的问题是,我只看到前 5 列,不是因为数据太长,而是因为每列之间有很多空间。
有没有办法让 DataColumn 用我选择的填充来包装数据?这是我的代码:
Scaffold(
appBar: AppBar(
title: Text('DataTable Sample'),
),
body: Container(
child: DataTable(columns: <DataColumn>[
DataColumn(
label: Text('Name'),
),
DataColumn(
label: Text('A'),
),
DataColumn(
label: Text('B'),
),
DataColumn(
label: Text('C'),
),
DataColumn(
label: Text('D'),
),
DataColumn(
label: Text('E'),
),
DataColumn(
label: Text('F'),
),
DataColumn(
label: Text('G'),
),
DataColumn(
label: Text('H'),
),
], rows: <DataRow>[
DataRow(cells: [
DataCell(Text('1 Boston')),
DataCell(Text('3')),
DataCell(Text('3')),
DataCell(Text('7')),
DataCell(Text('1')),
DataCell(Text('30')),
DataCell(Text('8')),
DataCell(Text('+2')),
DataCell(Text('-22')),
]),
DataRow(cells: [
DataCell(Text('2 London')),
DataCell(Text('3')),
DataCell(Text('4')),
DataCell(Text('12')),
DataCell(Text('44')),
DataCell(Text('7')),
DataCell(Text('44')),
DataCell(Text('-98')),
DataCell(Text('0')),
]),
DataRow(cells: [
DataCell(Text('3 Rome')),
DataCell(Text('10')),
DataCell(Text('50')),
DataCell(Text('90')),
DataCell(Text('4')),
DataCell(Text('7')),
DataCell(Text('33')),
DataCell(Text('+5')),
DataCell(Text('-61')),
]),
]
)
),
);
Run Code Online (Sandbox Code Playgroud)
Den*_*sin 17
尝试设置horizontalMargin为 0,因为该值默认为 24.0:
... 数据表( 水平边距:0, 列间距:10, 列: [ ...
参考号 数据表horizontalMargin官方文档
小智 6
你可以使用SingleChildScrollViewandFittedBox作为它的父级。
Scaffold(
appBar: AppBar(
title: Text('DataTable Sample'),
),
body: SingleChildScrollView(
scrollDirection: Axis.vertical,
child: FittedBox(
child: DataTable(
columns: <DataColumn>[
DataColumn(
label: Text('Name'),
),
DataColumn(
label: Text('A'),
),
DataColumn(
label: Text('B'),
),
DataColumn(
label: Text('C'),
),
DataColumn(
label: Text('D'),
),
DataColumn(
label: Text('E'),
),
DataColumn(
label: Text('F'),
),
DataColumn(
label: Text('G'),
),
DataColumn(
label: Text('H'),
),
],
rows: <DataRow>[
DataRow(cells: [
DataCell(Text('1 Boston')),
DataCell(Text('3')),
DataCell(Text('3')),
DataCell(Text('7')),
DataCell(Text('1')),
DataCell(Text('30')),
DataCell(Text('8')),
DataCell(Text('+2')),
DataCell(Text('-22')),
]),
DataRow(cells: [
DataCell(Text('2 London')),
DataCell(Text('3')),
DataCell(Text('4')),
DataCell(Text('12')),
DataCell(Text('44')),
DataCell(Text('7')),
DataCell(Text('44')),
DataCell(Text('-98')),
DataCell(Text('0')),
]),
DataRow(cells: [
DataCell(Text('3 Rome')),
DataCell(Text('10')),
DataCell(Text('50')),
DataCell(Text('90')),
DataCell(Text('4')),
DataCell(Text('7')),
DataCell(Text('33')),
DataCell(Text('+5')),
DataCell(Text('-61')),
]),
],
),
),
),
);
Run Code Online (Sandbox Code Playgroud)
您可以这样使用它:
Scaffold(
appBar: AppBar(title: Text('DataTable Sample')),
body: Container(
child: Table(
columnWidths: {0:FractionColumnWidth(.2)},
children: [
TableRow(
children: [
Text("Name",),
Text("A",textAlign: TextAlign.center,),
Text("B",textAlign: TextAlign.center,),
Text("A",textAlign: TextAlign.center,),
Text("B",textAlign: TextAlign.center,),
Text("A",textAlign: TextAlign.center,),
Text("B",textAlign: TextAlign.center,),
Text("A",textAlign: TextAlign.center,),
Text("B",textAlign: TextAlign.center,),
]
),
TableRow(
children: [
Text("1 Boston",),
Text('3',textAlign: TextAlign.center,),
Text('3',textAlign: TextAlign.center,),
Text('7',textAlign: TextAlign.center,),
Text('1',textAlign: TextAlign.center,),
Text('30',textAlign: TextAlign.center,),
Text('8',textAlign: TextAlign.center,),
Text('+2',textAlign: TextAlign.center,),
Text('-22',textAlign: TextAlign.center,),
]
),
TableRow(
children: [
Text('2 London',),
Text('3',textAlign: TextAlign.center,),
Text('4',textAlign: TextAlign.center,),
Text('12',textAlign: TextAlign.center,),
Text('44',textAlign: TextAlign.center,),
Text('7',textAlign: TextAlign.center,),
Text('44',textAlign: TextAlign.center,),
Text('-98',textAlign: TextAlign.center,),
Text('0',textAlign: TextAlign.center,),
]
),
TableRow(
children: [
Text('3 Rome'),
Text('10',textAlign: TextAlign.center,),
Text('50',textAlign: TextAlign.center,),
Text('90',textAlign: TextAlign.center,),
Text('4',textAlign: TextAlign.center,),
Text('7',textAlign: TextAlign.center,),
Text('33',textAlign: TextAlign.center,),
Text('+5',textAlign: TextAlign.center,),
Text('-61',textAlign: TextAlign.center,),
]
),
]
),
)
),
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8065 次 |
| 最近记录: |