如何使用 PaginatedDataTable 更改列的背景颜色

Posted

技术标签:

【中文标题】如何使用 PaginatedDataTable 更改列的背景颜色【英文标题】:how to change the background color of column using PaginatedDataTable 【发布时间】:2021-11-28 03:53:34 【问题描述】:

我使用PaginatedDataTable 创建了一个表格,但现在我想添加列的背景颜色。 这是代码

class _PaginationDataTableState extends State<PaginationDataTable> 

  var dts=DTS();
  int rowPerPage=PaginatedDataTable.defaultRowsPerPage;
  @override
  Widget build(BuildContext context) 
    return Scaffold(
      backgroundColor: Colors.pink,
      body: SafeArea(
        child: SingleChildScrollView(
          child: PaginatedDataTable(
            arrowHeadColor: Colors.red,
            header: Text("Counter data"),
            columns: [
              DataColumn(label: Text("Col 1")),
              DataColumn(label: Text("Col 2")),
              DataColumn(label: Text("Col 3")),
              DataColumn(label: Text("Col 4")),
            ],
            source:dts,
            onRowsPerPageChanged: (r)
              setState(() 
                rowPerPage=r!;
              );
            ,
            rowsPerPage:rowPerPage
        
          ),
        ),
      ),
      
    );
  


class DTS extends DataTableSource

  DataRow getRow(int index)
    return DataRow.byIndex(index:index,cells: [
      DataCell(Text("#cell1$index")),
      DataCell(Text("#cell2$index")),
      DataCell(Text("#cell3$index")),
      DataCell(Text("#cell4$index"))
    ]);
  

  @override
  // TODO: implement isRowCountApproximate
  bool get isRowCountApproximate => true;

  @override
  // TODO: implement rowCount
  int get rowCount =>100;

  @override
  // TODO: implement selectedRowCount
  int get selectedRowCount => 0;


输出:

如果有人知道怎么做,请帮忙。

【问题讨论】:

【参考方案1】:

试试下面的代码希望对你有帮助

如果你改变了整个表格的背景颜色,那么试试这个

 Theme(
            data: Theme.of(context).copyWith(
              cardColor: Colors.blue[100],
              dividerColor: Colors.white,
            ),
            child: PaginatedDataTable(),
          ),

您的结果屏幕->

【讨论】:

以上是关于如何使用 PaginatedDataTable 更改列的背景颜色的主要内容,如果未能解决你的问题,请参考以下文章

Flutter:如何从 api 获取数据并在 PaginatedDataTable 中绑定

实现对 PaginatedDataTable Flutter 的排序

期望一个“用户”类型的值,但在尝试将 Firestore 数据获取到 Flutter Web 上的 PaginatedDataTable 时得到一个“Null”类型的值?

如何将数据从扩展数据表源类传递到 StateFul 类

如何创建自定义颤振 sdk 小部件,重建颤振和使用新的小部件

颤动中的分页数据表