Kendo ui 剑道列表视图和MVVM';编辑模板';取消按钮将绑定数据重置为初始状态

Kendo ui 剑道列表视图和MVVM';编辑模板';取消按钮将绑定数据重置为初始状态,kendo-ui,kendo-listview,Kendo Ui,Kendo Listview,我有一个剑道列表视图绑定到一个可观察的对象,并且一切都很好 我能够: 将项目添加到列表中 使用下面的编辑模板编辑现有项目 删除项目 但一个奇怪的现象是,当我将一个项目切换到“编辑视图”并单击“取消”时,它会将所有数据重置回原始数据。因此,如果我从一个项目开始,比如说名称和金额字段,我编辑该项目并更改金额,然后再向列表中添加两个项目,一切正常。但是,我在任何项目上单击“编辑”,然后立即单击“取消”,从这里它将删除我添加的所有其他项目,并将第一个项目的数据重置回最初的状态 为什么取消操作会这样做

我有一个剑道列表视图绑定到一个可观察的对象,并且一切都很好

我能够:

  • 将项目添加到列表中
  • 使用下面的编辑模板编辑现有项目
  • 删除项目
但一个奇怪的现象是,当我将一个项目切换到“编辑视图”并单击“取消”时,它会将所有数据重置回原始数据。因此,如果我从一个项目开始,比如说名称和金额字段,我编辑该项目并更改金额,然后再向列表中添加两个项目,一切正常。但是,我在任何项目上单击“编辑”,然后立即单击“取消”,从这里它将删除我添加的所有其他项目,并将第一个项目的数据重置回最初的状态

为什么取消操作会这样做

这个dojo代码片段显示了我遇到的确切问题:

剑道版本2016.3.1118

编辑: 进一步的发展,我在Telerik上发现了一个论坛帖子,上面说你必须有一个ID列和一个schema:model:ID设置,否则事情将无法按预期进行

我已将dojo代码段更新如下:


由于将ID添加到混合中,看起来金额不受“取消”按钮的影响,但新添加的项目仍然会被删除

遵循telerik在此提供的示例

//将Listview绑定到本地数据数组并执行CRUD

取消事件不删除新项目的唯一要求是:

  • 将新项添加到数据源时,id字段应保持为0
  • 应在datasource transport.create事件中递增/更新它(必需)

快乐编码

这可能无法解决您面临的问题,但可能会给您一个提示。我注意到,当您编辑一个新添加的条目并点击cancel时,会调用getData()方法,但当您对其中一个原始条目执行相同操作时,不会发生这种情况。我通常使用剑道网格的fluent api,因此我对非fluent语法不够熟悉,无法为您提供帮助。如果你愿意使用fluent api,我可以发布代码来实现你想要的。@univ如果你是在c#中引用fluent api,那么很遗憾,这没有帮助。但是,你发现了一些有用的东西,所以谢谢你。@Jacques你找到解决这个问题的方法了吗?我也面临同样的问题。我试着用CRUD处理本地数据。但新数据仍会在取消事件时被删除。