2016-04-06 135 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 +'”>'; “ca”是一个数字,这个数字有效地符合我的指示... – Dzu

回答

1

如果这可以帮助任何人,我刚刚明白我的错误:参数参数有一个范围,这是一个被传递给指令,所以我所要做的就是传递我的对象在范围内工作!

params.$scope.column = headerColDef; 

与HTML看起来像这样:

return '<header column="column"></header>';