import { Component } from '@angular/core'; import { AgRendererComponent } from 'ag-grid-ng2/main'; import { RegionSelectList } from '../models/region-select-list'; @Component({ selector: 'render-cell', template: `{{this.label}}` }) export class RendererComponent implements AgRendererComponent { private params: any; private valueCol: string = 'id'; private labelCol: string = 'name'; private model: Object = null; private label: string = null; agInit(params: any): void { this.params = params; if (params.colDef.cellEditorParams && params.colDef.cellEditorParams.valueCol) { this.valueCol = params.colDef.cellEditorParams.valueCol; } if (params.colDef.cellEditorParams && params.colDef.cellEditorParams.labelCol) { this.labelCol = params.colDef.cellEditorParams.labelCol; } this.setValue(params); } refresh(params: any): void { this.params = params; this.setValue(params); } private setValue(params) { this.model = params.value; let label = this.params.colDef.cellEditorParams.data.find((element, index, array) => { if (element[this.valueCol] === params.value) { return true; } }); if (label) { this.label = label[this.labelCol]; } } }