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

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

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

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

Chandan Bhandari 08.01.2019 08:02
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
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, а затем реализовал функцию обновления, чтобы выполнить повторный рендеринг ячейки при обновлении. Обновление также повторно отображает директиву в моей ячейке.

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