我有一个Grid通过MVVM绑定到DataSource。
我在网格中选择一行,因此我使用它:
var grid = e.sender;
var rowSelected = grid.dataItem(grid.select());
this.set("currentAccount", rowSelected);
where" currentAccount"保存当前选定的行。此外," currentAccount"被用户编辑的表格绑定。
现在,当我对表单字段进行更改时,它们不会自动反映在Grid上。我需要调用grid.refresh()来显示在网格上显示的更改。通过进一步调试,我注意到在viewmodel中定义的数据源和用于Grid的数据源没有触发它的Change事件!
但是,当用户按下按钮"添加新记录"时,以下内容用于在数据源中创建新的空模型,将.add()函数返回的新模型设置为& #34; currentAccount":
var newRow = this.get("accRegDatasource").add( this._makeAccountModel( 0 ) );
this.set("currentAccount", newRow);
var row = input_map.grid().find(" tr[data-uid='" + newRow.uid + "']");
input_map.kendoGrid().select(row);
上面,我添加了一个新的空行。一旦我开始编辑表单字段,它们就会自动反映在网格上,而不必调用grid.refresh。即使是viewmodel中定义的数据源也会触发它的更改事件。
知道为什么会出现这种行为? 感谢