首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在flutter中清除PaginatedDataTable的DataTableSource?

如何在flutter中清除PaginatedDataTable的DataTableSource?
EN

Stack Overflow用户
提问于 2021-05-14 21:58:19
回答 1查看 95关注 0票数 0

我试图在flutter中更新PaginatedDataTable中的记录,但假设我有5条记录,现在我更新记录,它将显示10条旧记录,5条旧记录和无更改数据。

清除PaginatedDataTable的DataTableSource (clear DataCell)的最佳方法是用新的one更新它们?这是MySource的声明:

代码语言:javascript
复制
 MySource mySource = new MySource(id, sub, c_date, m_date, status);

这是DataTableSource的类:

代码语言:javascript
复制
class MySource extends DataTableSource {
  List<String> value1;
  List<String> value2;
  List<String> value3;
  List<String> value4;
  List<String> value5;
  String a;
  String b;
  MySource(this.value1, this.value2, this.value3, this.value4, this.value5) {
    //print(value);
  }
  @override
  DataRow getRow(int index) {
    return DataRow.byIndex(
      onSelectChanged: (changedvalue) {
        print(value1[index].toString());
      },
      index: index,
      cells: [
        DataCell(Text(value1[index].toString())),
        DataCell(Text(value2[index].toString())),
        DataCell(Text(value3[index].toString())),
        DataCell(Text(value4[index].toString())),
        DataCell(m_table_icon(value5[index].toString())),
      ],
    );
  }

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

  @override
  // TODO: implement rowCount
  int get rowCount => value1.length;

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

以及PaginatedDataTable的这个小部件:

代码语言:javascript
复制
   PaginatedDataTable(
                      showCheckboxColumn: false,
                      //header: Text('Header Text'),
                      rowsPerPage: 20,
                      columns: [
                        DataColumn(label: Text('ID')),
                        DataColumn(label: Text('SUB')),
                        DataColumn(
                            label: Text('Created_Date')),
                        DataColumn(
                            label: Text('M_Date')),
                        DataColumn(label: Text('Finish')),
                      ],

这是从php服务器获取数据:

代码语言:javascript
复制
Future get_table_info() async {
    var output = await update_m_table(search_keyword);

    id.clear();
    sub.clear();
    c_date.clear();
    m_date.clear();
    status.clear();

    setState(() {
      for (int i = 0; i < output.length; i++) {
        id.add(((output[i].id)));
        sub.add(((output[i].sub)));
        c_date.add(((output[i].created_date)));
        print((output[i].created_date));
        m_date.add(((output[i].date)));
        status.add(((output[i].status)));
      }
    });
  }

我也需要这个,以添加搜索栏,当我将锁定内部的json数据表单php。

EN

回答 1

Stack Overflow用户

发布于 2021-05-15 15:38:07

这就解决了这个问题:

代码语言:javascript
复制
output.clear();
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67535610

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档