Передать несколько значений для cellRendererFramework, используя ag-grid? - PullRequest
0 голосов
/ 31 марта 2020

Я видел только один вопрос SO, связанный с этим, и ответы не были опубликованы.

У меня есть angular приложение, использующее ag-grid. Он использует cellRendererFramework для отображения данных для столбца a для отображения в таблице. Мне нужны данные из столбца Дата , чтобы правильно отформатировать столбец Данные , но я не могу найти способ передать их в компонент рендерера. Вот базовый c код:

  // Columns defined inside the main component
  this.columnDefs = [
    { headerName: 'Date', field: 'timestamp'},
    { headerName: 'Data',
      field: 'type',
      cellRendererFramework: MyRendererComponent,
    },
  }


  // Inside the renderer component
  export class MyRendererComponent implements OnInit {
    myData: any;

    agInit(params: import("ag-grid-community").ICellRendererParams): void {

      // This is where I need data from the first column to 
      // properly set the return value
      this.myData = this.setUpData(params.value)
    }

  setUpData(data: any) {
    // Operate on the data here, but I need the timestamp to do it properly
  }
  ...
  }

У кого-нибудь есть предложения, как я могу получить данные timestamp в MyRendererComponent ?

Ответы [ 2 ]

3 голосов
/ 01 апреля 2020

Вы можете сделать это, используя CellRendererParams

colDef.cellRenderer = myCellRenderer;
colDef.cellRendererParams = {
    color: 'guinnessBlack'
}

Затем вы можете получить доступ к цвету, используя params.color в myCellRenderer

Подробнее об этом можно прочитать здесь

1 голос
/ 31 марта 2020

Нашел ответ. Используйте параметр данных params, чтобы получить доступ к данным строки и добраться до вашего поля с этими данными:

params.data.timestamp

https://www.ag-grid.com/javascript-grid-cell-rendering-components/#cell -renderers-and-row-groups

...