Передать несколько значений для cellRendererFramework с помощью ag-grid?

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

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

  // 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
  }
  ...
  }

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


person Love to Code    schedule 31.03.2020    source источник


Ответы (3)


Вы можете сделать это с помощью CellRendererParams

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

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

Подробнее об этом можно узнать здесь

person Ghanima    schedule 31.03.2020
comment
Спасибо за комментарий, Ганима, но я уже нашел его, используя поле данных объекта params, как указано в моем ответном ответе. Я просто не мог принять ответ до сих пор. - person Love to Code; 02.04.2020

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

params.data.timestamp

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

person Love to Code    schedule 31.03.2020

вы должны отправить данные с примером cellRendererParams:

{
            cellRendererFramework: 'CityCellRenderer',
            cellRendererParams: {currentApartament: this.apartament},
            
          },

и вы можете получить данные так:

<template>
  <div>
    <v-btn text icon @click="btnClickedHandler()">
      <v-icon>mdi-delete-outline</v-icon>
    </v-btn>
  </div>
</template>
<script>
  export default {
    name: 'CityCellRenderer',
    methods: {
      btnClickedHandler() {
        console.log(this.params) //please you check the properties.
      },
    },
  }
</script>
person x-rw    schedule 22.09.2020
comment
Я пытаюсь сделать что-то подобное, но хочу отправить данные из самой строки ex: cellRendererParams: { label: currentRowData.myField + currentRowData.myOtherField } Не знаю, как получить доступ к данным строки из cellRendererParams. - person HisDivineShadow; 01.12.2020
comment
@HisDivineShadow, вы можете просмотреть этот console.log (this.params) // пожалуйста, проверьте свойства. там твои ценности - person x-rw; 02.12.2020
comment
Я действительно опубликовал этот вопрос, где я получил ответ, который я смог использовать, чтобы найти решение. - person HisDivineShadow; 02.12.2020