agGrid:自定义标题列绑定不起作用

时间:2016-04-06 16:40:23

标签: angularjs angularjs-directive ag-grid

我目前正在尝试在agGrid标头中添加一个角度指令。为此,我在headerCellRenderer中传递了一个函数,如下所示:

我的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>';
}

结果我的指令被渲染,但“列”绑定是空的,我不明白我如何将对象传递给我的指令。

有什么想法吗? 谢谢!

2 个答案:

答案 0 :(得分:2)

如果这可以帮助任何人,我只是理解了我的错误:params参数有一个范围,那是传递给指令的那个,所以我所要做的就是在范围内传递我的对象让它工作!

 params.$scope.column = headerColDef;

html看起来像这样:

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

答案 1 :(得分:0)

设置ag-grid gridOptions属性angularCompileHeaders: true(默认为false)

试试吧!这对我有用。

价:https://www.ag-grid.com/javascript-grid-properties/index.php