将 ag-grid 列绑定到数组
Posted
技术标签:
【中文标题】将 ag-grid 列绑定到数组【英文标题】:Binding ag-grid columns to an array 【发布时间】:2016-06-24 07:35:40 【问题描述】:我是 ag-grid 的新手,并且正在使用带有 angularjs (1.X) 的 ag-grid。我遇到了一些问题,非常感谢您的帮助。
在我的场景中,我的网格中的列数不是固定的。根据用户输入,网格列及其计数会发生变化。因此,我根据服务器返回的数据(通过 ajax 调用)动态定义我的列定义。
这就是我的数据的样子。
rowData = [ "name": "Tom", "Skills": ["JS", "Angular", "php" ] ,
"name": "Tim", "Skills": ["C#, "Java", "C++" ]
]
完成动态生成 columnDef 后,我的 columnDef 如下所示:
columnDefs = [ "headerName": "Name", "field": "name",
"headerName": "Skill1",
"valueGetter": "getSkill",
"colId": 0,
"onCellValueChanged" = skillEdited,
"editable": true ,
"headerName": "Skill2",
"valueGetter": "getSkill",
"colId": 1,
"onCellValueChanged" = skillEdited,
"editable": true ,
"headerName": "Skill3",
"valueGetter": "getSkill",
"colId": 2,
"onCellValueChanged" = skillEdited,
"editable": true
]
问题 1: 当我更改网格中的技能时,我的“skillEdited”方法被调用,但 params.newValue 设置为 oldValue 并且 params.oldValue 设置为 undefined。所以,我基本上没有得到新的价值。当用户更改技能时,我希望更新 rowData 类。我怎样才能做到这一点?
问题 2:我是否正确绑定了数据和列?还是我做错了什么?
非常感谢您的帮助。 维吉
【问题讨论】:
也许 valueGetter 搞砸了。尝试使名称可编辑,看看它是否工作相同。 @Walfrat 感谢您的回复.....使用 newValueHandler 而不是 onCellValueChanged 解决了我的问题。 没问题,回答你自己的问题并验证它,这样有同样问题的人就会知道。 【参考方案1】:使用 newValueHandler 而不是 onCellValueChanged 解决了我的问题...
【讨论】:
您可以接受您的答案是正确的。它帮助别人。谢谢以上是关于将 ag-grid 列绑定到数组的主要内容,如果未能解决你的问题,请参考以下文章