您好我有一些自定义渲染的单元格 当我更新所有数据时,deltaRowDataMode不会改变我的cutom单元格渲染。更新行的其他单元格已正确更新。
如何为ag网格提供线索以正确比较此自定义单元格
答案 0 :(得分:0)
我刚刚遇到了同样的问题,并从ag-grid文档中找到了一条线索。在Cell Renderer帮助文档中,它讨论了ICellRendererComp.refresh方法:
//强制-使单元格刷新。如果刷新,则返回true 成功,否则返回false。 //如果返回false,则网格将从DOM中删除该组件并创建 //带有新值的新组件。
refresh(params: ICellRendererParams): boolean;
// gets called whenever the user gets the cell to refresh
MyCellRenderer.prototype.refresh = function(params) {
// set value into cell again
this.eValue.innerHTML = params.valueFormatted ? params.valueFormatted : params.value;
// return true to tell the grid we refreshed successfully
return true;
};
然后我在CellRenderer上实现了如下刷新功能,而不更改任何单元格内容:
statusCellRenderer.prototype.refresh = function (params) {
//ensure the status cell\directive refreshes when the grid data is refreshed using deltaRowDataMode
this.params = params;
return true;
};
因此,在我的情况下,我在轮询循环中刷新网格的rowData,但我不希望网格继续丢失所选的行。我在gridOptions上设置了deltaRowDataMode和getRowNodeId属性,然后实现了刷新功能以使单元在刷新时重新呈现。刷新还会在我的单元格中重新呈现指令。