2016-04-06 3 views
0

В настоящее время я пытаюсь добавить угловую директиву в заголовке agGrid. Для этого я принял функцию headerCellRenderer следующим образом:agGrid: пользовательская привязка столбца заголовка не работает

Мои gridOptions:

this.columnDefs = [ 
    {headerName: "Height", field: "rowHeight"}, 
    {headerName: "Athlete", field: "athlete", width: 180}, 
    {headerName: "Age", field: "age", width: 90}, 
    {headerName: "Country", field: "country", width: 120}, 
    {headerName: "Year", field: "year", width: 90} 
]; 
this.gridOptions = { 
    columnDefs: this.columnDefs, 
    rowData: null, 
    //enableSorting: true, 
    headerHeight: 60, 
    //enableFilter: true, 
    enableColResize: true, 
    angularCompileRows:true, 
    angularCompileHeaders: true, 
    headerCellRenderer: (params) => 
     {return this.headerCellRendererFunc(params);}, 
    rowSelection: 'multiple', 
}; 

Моя функция определена как следует:

headerCellRendererFunc(params) { 
    const headerColDef = params.colDef; 
    headerColDef.name = headerColDef.headerName; 
    headerColDef.isMetadata = false; 
    return '<header column="headerColDef"></header>'; 
} 

В результате моя директива оказанной но «колонна «привязка пуста, я не понимаю, как мне передать объект в мою директиву.

Любые идеи? Спасибо!

+0

странно, когда я передать фиктивный значение, как: ''; с «ca», являющимся числом, это число эффективно переходит в мою директиву ... – Dzu

ответ

1

Если это может помочь кому-либо, я только что понял свою ошибку: аргументы params имеют область видимости, и это тот, который передается директиве, поэтому все, что мне нужно было сделать, это передать мой объект в область, Работа !

params.$scope.column = headerColDef; 

с HTML вида:

return '<header column="column"></header>'; 
Смежные вопросы