Есть ли способ передать данные между двумя модулями рендеринга ячеек в ag grid?

У меня есть 2 рендерера ячеек в 2 столбцах моей сетки ag. 1-й столбец — столбец действий. 2-й столбец представляет собой раскрывающийся список, содержащий параметры данных.

Динамически, на основе выбора данных из раскрывающегося списка во 2-м столбце, я хочу изменить/переключить значки действий в 1-м столбце. Это возможно?

Я использовал cellrendererframework для обоих рендереров ячеек.


person me_arc    schedule 02.06.2020    source источник


Ответы (1)


Да, это возможно!

В первую очередь вам следует добавить refresh() метод cell-dropdown.component

Это будет выглядеть так:

public refresh(params): boolean {  
    params.api.redrawRows();

    return true;
}  

После выбора нового выделения вызывается метод refresh(), и первый столбец перерисовывается.

Я создал пример с вашим случаем:

У нас есть раскрывающийся список пола и на основе измененного выбора - имя первого столбца изменится

Для столбца пола используется cellRenderFrameWork

для первого столбца (имя) используется простой встроенный cellRender и выглядит как

  { field: 'name', cellRenderer: params => {
    return params.data.gender === "Female" ? params.value : 'Roman' 
  } },

введите здесь описание изображения

введите здесь описание изображения

рабочий пример: https://plnkr.co/edit/HT5fgs0VV5PqErWH

person shutsman    schedule 02.06.2020
comment
Это сработало! Но мой сценарий был немного другим. Я не использовал встроенный модуль рендеринга ячеек, но другой фреймворк рендеринга ячеек, передавая params.api.redrawrows, возвращал столбец действий в исходное состояние, чего я не хотел. - person me_arc; 04.06.2020
comment
Но ваш ответ также поможет мне приступить к моей следующей задаче. Я принимаю этот ответ, и, следовательно, это правильно! ???? - person me_arc; 04.06.2020
comment
Извините, у меня очень низкая репутация, поэтому я не могу проголосовать за этот ответ. Я свяжусь с вами, если у меня возникнут какие-либо проблемы с сельскохозяйственной сетью. Еще раз огромное спасибо :) - person me_arc; 04.06.2020