Рендеринг ячейки ag-grid с помощью deltarowdatamode

Привет, у меня есть ячейки с настраиваемым рендерингом когда я обновляю все данные, deltaRowDataMode не управляет изменением моего рендеринга ячеек. Остальные ячейки обновленной строки обновляются правильно.

Как я могу дать подсказку к сетке ag, чтобы правильно сравнить эту настраиваемую ячейку

Пожалуйста, поделитесь фрагментом допуска

Chandan Bhandari 08.01.2019 08:02
8
1
3 486
1

Ответы 1

У меня была такая же проблема, и я нашел подсказку в документации по 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, а затем реализовал функцию обновления, чтобы выполнить повторный рендеринг ячейки при обновлении. Обновление также повторно отображает директиву в моей ячейке.

Другие вопросы по теме