Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/flutter/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Flutter 颤振分页数据表填充高度_Flutter - Fatal编程技术网

Flutter 颤振分页数据表填充高度

Flutter 颤振分页数据表填充高度,flutter,Flutter,我正在尝试创建分页数据表,以填充高度。然而,无论我在尝试什么,似乎都没有任何效果。我怎样才能让桌子填满这个高度?另外,如何更改分页背景色 Widget build(BuildContext context) { return Scaffold( appBar: AppBar( title: Text(state.department.name), ), body: Column( children: <Widget

我正在尝试创建
分页数据表
,以填充高度。然而,无论我在尝试什么,似乎都没有任何效果。我怎样才能让桌子填满这个高度?另外,如何更改分页背景色

Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text(state.department.name),
      ),
      body: Column(
        children: <Widget>[
          Row(
            mainAxisAlignment: MainAxisAlignment.spaceEvenly,
            children: [
              TextButton(onPressed: () {}, child: Text('TEst 1')),
              TextButton(onPressed: () {}, child: Text('TEst 1'))
            ],
          ),
          Container(
            child: PaginatedDataTable(
                showCheckboxColumn: false,
                headingRowHeight: 35,
                columns: const <DataColumn>[
                  DataColumn(
                    label: Text(
                      'First Name',
                      style: TextStyle(fontStyle: FontStyle.italic),
                    ),
                  ),
                  DataColumn(
                    label: Text(
                      'Last Name',
                      style: TextStyle(fontStyle: FontStyle.italic),
                    ),
                  ),
                  DataColumn(
                    label: Text(
                      'Id',
                      style: TextStyle(fontStyle: FontStyle.italic),
                    ),
                  ),
                  DataColumn(
                    label: Text(
                      'Time',
                      style: TextStyle(fontStyle: FontStyle.italic),
                    ),
                  ),
                  DataColumn(
                    label: Text(
                      'Operator',
                      style: TextStyle(fontStyle: FontStyle.italic),
                    ),
                  ),
                ],
                source: tableSource
            ),
          )
        ],
      ),
    );
  }
小部件构建(构建上下文){
返回脚手架(
appBar:appBar(
标题:文本(州、部门、名称),
),
正文:专栏(
儿童:[
划船(
mainAxisAlignment:mainAxisAlignment.space,
儿童:[
Text按钮(按下时:(){},子项:Text('test1')),
Text按钮(按下时:(){},子项:Text('test1'))
],
),
容器(
子项:分页可编辑(
showCheckboxColumn:false,
头向生长高度:35,
列:常量[
数据列(
标签:文本(
“名字”,
样式:TextStyle(fontStyle:fontStyle.italic),
),
),
数据列(
标签:文本(
“姓”,
样式:TextStyle(fontStyle:fontStyle.italic),
),
),
数据列(
标签:文本(
“Id”,
样式:TextStyle(fontStyle:fontStyle.italic),
),
),
数据列(
标签:文本(
“时间”,
样式:TextStyle(fontStyle:fontStyle.italic),
),
),
数据列(
标签:文本(
“操作员”,
样式:TextStyle(fontStyle:fontStyle.italic),
),
),
],
来源:tableSource
),
)
],
),
);
}
使用
Container
时,容器本身会填充高度,但分页的数据表不会。

解决方案

  static const double topViewHeight = 50.0;
  static const double paginateDataTableHeaderRowHeight = 35.0;
  static const double pagerWidgetHeight = 56;
  static const double paginateDataTableRowHeight = kMinInteractiveDimension;

  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('Hello'),
      ),
      body: LayoutBuilder(
        builder: (context, constraint) {
          return Column(
            children: <Widget>[
              Container(
                width: constraint.maxWidth,
                height: topViewHeight,
                child: Row(
                  mainAxisAlignment: MainAxisAlignment.spaceEvenly,
                  children: [
                    TextButton(onPressed: () {}, child: Text('TEst 1')),
                    TextButton(onPressed: () {}, child: Text('TEst 1'))
                  ],
                ),
              ),
              Container(
                  color: Colors.greenAccent,
                  height: constraint.maxHeight - topViewHeight,
                  child: Center(
                    child: PaginatedDataTable(
                        showCheckboxColumn: false,
                        headingRowHeight: paginateDataTableHeaderRowHeight,
                        rowsPerPage: ((constraint.maxHeight -
                                    topViewHeight -
                                    paginateDataTableHeaderRowHeight -
                                    pagerWidgetHeight) ~/
                                paginateDataTableRowHeight)
                            .toInt(),
                        columns: const <DataColumn>[
                          DataColumn(
                            label: Text(
                              'First Name',
                              style: TextStyle(fontStyle: FontStyle.italic),
                            ),
                          ),
                        ],
                        source: TableSource()),
                  ))
            ],
          );
        },
      ),
    );
  }
static const double topViewHeight=50.0;
静态常数双分页DataTableHeaderRowheight=35.0;
静态常数双页WidgetHeight=56;
静态常量double paginateDataTableRowHeight=KminiInteractiveDimension;
小部件构建(构建上下文){
返回脚手架(
appBar:appBar(
标题:Text('Hello'),
),
正文:布局生成器(
生成器:(上下文,约束){
返回列(
儿童:[
容器(
宽度:constraint.maxWidth,
高度:TopView高度,
孩子:排(
mainAxisAlignment:mainAxisAlignment.space,
儿童:[
Text按钮(按下时:(){},子项:Text('test1')),
Text按钮(按下时:(){},子项:Text('test1'))
],
),
),
容器(
颜色:Colors.greenAccent,
高度:constraint.maxHeight-topViewHeight,
儿童:中心(
子项:分页可编辑(
showCheckboxColumn:false,
头向生长高度:分页数据表头向生长高度,
rowsPerPage:((constraint.maxHeight)-
俯视高度-
paginateDataTableHeaderRowHeight-
pagerWidgetHeight)~/
分页(数据表行高)
.toInt(),
列:常量[
数据列(
标签:文本(
“名字”,
样式:TextStyle(fontStyle:fontStyle.italic),
),
),
],
来源:TableSource()),
))
],
);
},
),
);
}
需要知道

注:

  • 柱是一个无限高约束,因此它不适合该高度

  • 如果是,请扭曲SingleChildScrollViewWidget内的列以避免约束错误和警告


  • 如果你的意思是让你的桌子伸展以填满高度,我认为你除了计算高度之外没有其他解决方案,请看!谢谢我唯一添加的内容也是将
    width:constraint.maxWidth
    添加到包含数据表本身的容器中,因为它没有填充整个宽度。ok fine@Expressingx