Как принудительно принудительно заставить функцию this.gridOption.getRowStyle?

У меня есть ag-grid, который позволяет пользователю обновлять данные. Как только данные обновлены, они попадают в API, и я получаю ответ. На основе ответа я раскрашиваю строки, например, если пользователь обновил строки номер 2 и 5, а ответ - Ошибка для строки 2 и Успех для строки 5, я окрашиваю строку 2 как красный, а строку 5 как зеленый. Я использую функцию getRowStyle, но кажется, что она запускается только один раз, когда сетка загружена или редактируется. Как принудительно запустить эту функцию, чтобы загружались цвета строк.

successArray = [5];

this.searchGridOption.getRowStyle = params => {

      if (this.successArray.includes(params.node.rowIndex)) {
        return { background: "green" };
      }
}

person Kash If    schedule 22.07.2019    source источник


Ответы (2)


Может быть rowClassRules лучше подходит для ваших требований.

gridOptions.rowClassRules: {
  // apply green to success row
  'success-green': function(params) {
    return (this.successArray.includes(params.node.rowIndex));
  },

  // apply red to error row
  'error-red': function(params) { 
    return (this.errorArray.includes(params.node.rowIndex));
  }
}
person Pratik Bhat    schedule 23.07.2019
comment
Я пробовал это, и, похоже, мой проект не собирает классы css. все сделал. - person Kash If; 23.07.2019

После долгого чтения и попыток я смог сделать то, что хотел.

this.gridApi.redrawRows ();

все необходимое для раскраски строк.

person Kash If    schedule 23.07.2019