ag-grid cellRendering with deltaRowDataMode

时间:2018-04-11 11:43:26

标签: updates ag-grid cellrenderer

您好我有一些自定义渲染的单元格 当我更新所有数据时,deltaRowDataMode不会改变我的cutom单元格渲染。更新行的其他单元格已正确更新。

如何为ag网格提供线索以正确比较此自定义单元格

1 个答案:

答案 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属性,然后实现了刷新功能以使单元在刷新时重新呈现。刷新还会在我的单元格中重新呈现指令。