Kendo UI MVVM - 更改模型不会触发DataSource更改事件

时间:2015-02-13 10:19:59

标签: kendo-ui kendo-grid kendo-mvvm

我有一个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中定义的数据源也会触发它的更改事件。

知道为什么会出现这种行为? 感谢

0 个答案:

没有答案