【问题标题】:Ag-grid master detail prevent detail row from closing on data refreshAg-grid 主详细信息防止详细信息行在数据刷新时关闭
【发布时间】:2019-07-17 22:16:40
【问题描述】:

我目前正在试用 AG-Grid 主细节功能。一切正常,但我的数据将每 10 秒刷新一次。这会导致在刷新数据时关闭详细信息,我必须再次打开详细信息行。

是否有任何选项可以保存打开的详细信息的状态?

Plunkr

数据设置为每5秒刷新一次,展开详情行,数据刷新后详情会折叠。我设置了 rememberGroupStateWhenNewData : true

https://plnkr.co/edit/SgYD3vH8CXW9W9B8HD6N?p=preview

var gridOptions = {
rememberGroupStateWhenNewData:true,
columnDefs: columnDefs,
masterDetail: true,
detailCellRendererParams: {
    detailGridOptions: {
        rememberGroupStateWhenNewData:true,
        columnDefs: [
            {field: 'callId'},
            {field: 'direction'},
            {field: 'number'},
            {field: 'duration', valueFormatter: "x.toLocaleString() + 's'"},
            {field: 'switchCode'}
        ],
        onFirstDataRendered(params) {
            params.api.sizeColumnsToFit();
        }
    },
    getDetailRowData: function (params) {
        params.successCallback(params.data.callRecords);
    }
},
onFirstDataRendered(params) {
    params.api.sizeColumnsToFit();
}

};

【问题讨论】:

  • 有几种刷新数据的方法,它们可能会影响详细信息行的情况。你现在有什么代码?你能让a demo 显示问题吗? -_-
  • 我添加了一个 plunkr。看看我原来的 cmets。

标签: angularjs ag-grid


【解决方案1】:

问题是您正在使用api.setRowData 来更新数据。

https://www.ag-grid.com/javascript-grid-data-update/

这是最简单的更新方法。你打电话的时候 api.setRowData(newData),网格会丢弃所有先前的选择并 过滤器,并用新数据完全覆盖旧数据。这是 网格的第一种工作方式是最“蛮力”的方式。

如果您想使用一组全新的网格加载网格,请使用此方法 数据。

此描述与您尝试执行的操作不符,因此您应该使用其他方法之一。试试api.updateRowData(transaction),演示中有很多例子。

【讨论】:

  • 如果我使用 add 事务,这种排序工作。对于更新,似乎我必须循环和更新每个字段,无法自动批量更新,但我想它仍然有效,所以赞成这个答案。
  • 这部分是你做的吗? “提供rowNode ID(通过getRowNodeId()回调)”(CTRL + F在我的答案链接中的那句话,阅读它)
【解决方案2】:

您尝试过rememberGroupStateWhenNewData吗?

https://www.ag-grid.com/javascript-grid-grouping/#keeping-group-state

【讨论】:

  • 不,不工作。请查看我为 plunkr 发布的原始帖子
【解决方案3】:

这里有同样的问题,rememberGroupStateWhenNewData 仅适用于行分组,不适用于主/明细网格。

【讨论】:

    【解决方案4】:

    有点晚了,但这可能对其他人有所帮助。如果您使用不可变数据模式,并将您的详细信息的刷新模式设置为“行”,您的主数据和详细信息将就地更新。

    查看这些链接了解更多信息: https://www.ag-grid.com/react-data-grid/immutable-data/ https://www.ag-grid.com/react-data-grid/master-detail-refresh/

    【讨论】:

      猜你喜欢
      • 2019-12-10
      • 2020-10-26
      • 2019-11-28
      • 2015-06-27
      • 2010-12-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多