Привет, у меня есть ячейки с настраиваемым рендерингом когда я обновляю все данные, deltaRowDataMode не управляет изменением моего рендеринга ячеек. Остальные ячейки обновленной строки обновляются правильно.
Как я могу дать подсказку к сетке ag, чтобы правильно сравнить эту настраиваемую ячейку
У меня была такая же проблема, и я нашел подсказку в документации по ag-grid. В справочной документации Средство визуализации ячеек говорится о методе ICellRendererComp.refresh
:
// Mandatory - Get the cell to refresh. Return true if the refresh succeeded, otherwise return false. // If you return false, the grid will remove the component from the DOM and create // a new component in it's place with the new values. 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
сетки при циклическом опросе, и я не хотел, чтобы сетка продолжала терять выбранную строку. Я установил свойства deltaRowDataMode
и getRowNodeId
на gridOptions
, а затем реализовал функцию обновления, чтобы выполнить повторный рендеринг ячейки при обновлении. Обновление также повторно отображает директиву в моей ячейке.
Пожалуйста, поделитесь фрагментом допуска