Kendo ui Kendo UI MVVM-更改模型未触发数据源更改事件
我有一个通过MVVM绑定到数据源的网格 我在网格中选择一行,因此我使用:Kendo ui Kendo UI MVVM-更改模型未触发数据源更改事件,kendo-ui,kendo-grid,kendo-mvvm,Kendo Ui,Kendo Grid,Kendo Mvvm,我有一个通过MVVM绑定到数据源的网格 我在网格中选择一行,因此我使用: var grid = e.sender; var rowSelected = grid.dataItem(grid.select()); this.set("currentAccount", rowSelected); 其中“currentAccount”保存当前选定的行。此外,“currentAccount”绑定到用户要编辑的表单 现在,当我对表单字段进行更改时,它们不会自动反映在网格上。我需要调用grid.refre
var grid = e.sender;
var rowSelected = grid.dataItem(grid.select());
this.set("currentAccount", rowSelected);
其中“currentAccount”保存当前选定的行。此外,“currentAccount”绑定到用户要编辑的表单
现在,当我对表单字段进行更改时,它们不会自动反映在网格上。我需要调用grid.refresh()以使更改显示在网格上。通过进一步调试,我注意到viewmodel中定义的用于网格的数据源并没有触发它的更改事件
但是,当用户按下“添加新记录”按钮时,以下命令用于在数据源内创建一个新的空模型,将.Add()函数返回的新模型设置为“currentAccount”:
在上面,我添加了一个新的空行。一旦我开始编辑表单字段,它们就会自动反映在网格上,而无需调用Grid.refresh。甚至viewmodel中定义的数据源也会触发其更改事件
知道为什么会有这种行为吗?
谢谢听起来您更新的某些对象不是ObserveObject的实例。请用一个小演示来演示你的案例,这样我们就可以检查了。给你:我不是在剑道论坛上回答了类似的问题吗?
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);