我目前正在对AG-Grid主细节功能进行试用。一切正常,但我的数据每10秒刷新一次。这导致刷新数据时关闭细节,我必须再次打开细节行。
是否有任何选项可以保存打开的详细信息的状态?
Plunkr
数据设置为每5秒刷新一次,展开详细信息行,当数据刷新时,详细信息将折叠。我设置了RememberGroupStateWhenNewData:true
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();
}
};
答案 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 仅适用于行分组,不适用于主/明细网格。