Ag-grid主详细信息可防止在刷新数据时关闭详细信息行

时间:2019-02-24 09:21:40

标签: angularjs ag-grid

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

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

Plunkr

数据设置为每5秒刷新一次,展开详细信息行,当数据刷新时,详细信息将折叠。我设置了RememberGroupStateWhenNewData:true

transpose

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();
}

};

3 个答案:

答案 0 :(得分:0)

您尝试了 rememberGroupStateWhenNewData 吗?

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

答案 1 :(得分:0)

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

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

  

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

     

如果要为网格加载一组全新的   数据。

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

答案 2 :(得分:0)

此处存在相同的问题, rememberGroupStateWhenNewData 仅适用于行分组,不适用于主/明细网格。