我是ag-grid的新手,我正在使用带有angularjs(1.X)的ag-grid。我正在讨论一些问题,非常感谢你的帮助。
在我的场景中,网格中的列数不固定。根据用户输入,网格列及其计数会发生变化。所以,我根据服务器返回的数据动态定义我的列defs(通过ajax调用)。
这就是我的数据的样子。
rowData = [ { "name": "Tom", "Skills": ["JS", "Angular", "PHP" ] } ,
{ "name": "Tim", "Skills": ["C#, "Java", "C++" ] }
]
完成动态生成columnDefs后,我的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 : 当我改变网格中的技能时,我的"技术编辑"方法被调用,但params.newValue设置为oldValue,params.oldValue设置为undefined。所以,我基本上没有获得新的价值。当用户更改技能时,我希望更新rowData类。我怎样才能做到这一点?
问题2 :我是否正确绑定了数据和列?还是我做了一些根本错误的事情?
非常感谢您的帮助。 维吉
答案 0 :(得分:0)
使用newValueHandler而不是onCellValueChanged解决了我的问题......