我无法通过访问$ scope.girdOptions.api.setColumnDefs来更新ag-gird girdOptions columnDefs。
我想要实现的是按表格分组,具有不同的值。
var masterColumnDefs = [
{headerName: 'Name', field: 'name',
// left column is going to act as group column, with the expand / contract controls
cellRenderer: 'group',
// we don't want the child count - it would be one each time anyway as each parent
// not has exactly one child node
cellRendererParams: { suppressCount: true }
},
{headerName: 'Account', field: 'account'},
{headerName: 'Calls', field: 'totalCalls'},
{headerName: 'Minutes', field: 'totalMinutes', cellFormatter: minuteCellFormatter}
];
cellRenderer:'group'代码是他们内置的用于处理分组的代码,因此这个示例包含在展开时在行内部渲染网格。
虽然他们可以使用pivot菜单选项动态地执行该组,但是我需要在行内部呈现网格,因此我在响应中获得的JSON类似于Plunkr中的rowData。
因此,我无法使用pivot选项进行动态分组。
我在这里要解决的问题是通过修改它来更新上面的masterColumnDefs
` masterColumnDefs = [
{headerName: 'Name', field: 'name'
},
{headerName: 'Account', field: 'account',
// left column is going to act as group column, with the expand / contract controls
cellRenderer: 'group',
// we don't want the child count - it would be one each time anyway as each parent
// not has exactly one child node
cellRendererParams: { suppressCount: true }},
{headerName: 'Calls', field: 'totalCalls'},
{headerName: 'Minutes', field: 'totalMinutes', cellFormatter: minuteCellFormatter}
];`
并使用
更新gridOptions$ scope.gridOptions.api.setColumnDefs(masterColumnDefs);
没有什么可以帮助我。
可能是其他一些解决方案也可以做这个功能,但我没有得到它。
注意事项:
任何想法都会有很大的帮助。
答案 0 :(得分:2)
当您为角度应用程序使用javascript lib时,这非常棘手。
我能够通过在超时函数中调用api来完成它。
$timeout(function(){
$scope.gridOptions.api.setColumnDefs(masterColumnDefs);
}, 0);
如果您在 $ scope.gridOptions.api.setColumnDefs(masterColumnDefs); 上方打印 $ scope.gridOptions 而没有超时功能,请注意该对象是没有api或columnApi键。
但是当你把
包起来的时候$ scope.gridOptions.api.setColumnDefs(masterColumnDefs);
使用超时功能然后在控制台中,您可以使用api和columnApi查看对象,所以现在它将使用您拥有的值更新gridOptions。
据我所分析,这在ag-grid网站的任何地方都没有解释或记录。
希望这有帮助!