剑道网格 取消对嵌套数据源的编辑



我有带有嵌套json数据源的视图模型。

这是我的演示(使用第二联系人"个人联系人"进行测试)

[{ person_id:1, person_name:"John", 
contact: [
{email:"john@domain.com"}
]
}]

我正在使用联系人详细信息模板将视频模型绑定到网格:

+ person
=> contact 1
=> contact 2

网格可以使用自定义弹出编辑器模板进行编辑,我可以在一个表单中编辑人员和联系人。可用的个人联系人使用列表视图显示,其上方带有表单(单击行绑定字段)。

我的问题在于取消编辑。由于联系人网格详细信息列表视图绑定到数据子集,因此它不会自动同步到编辑前状态。我不想重新同步整个网格,只需强制该联系人详细信息列表视图重新绑定即可。

是否有任何"智能"方法可以使详细列表视图了解数据更改?我正在创建和绑定详细列表视图 detailInit.也许使用 listview 将记录 ID 存储在某个地方并在网格取消事件上重新绑定它?

由于数据存储是嵌套的,因此只有顶层才能正确响应更新和取消操作。嵌套 (listview) 级别至少在两种方面不会:(1) 当您编辑顶部和嵌套项目并更新时,网格将刷新,但详细信息列表视图不会 (2) 当您编辑顶部和嵌套级别并更新时,然后再次打开编辑并简单地取消,再次打开编辑器时嵌套级别不会保留 - 数据将回滚到其原始状态 (?)。所有这些都表明存储嵌套级别没有"默认"正确处理,并且需要一些更聪明的方法,而我缺乏知识或想法。

发现由于缺少"记录 ID"而导致编辑行为不端。一旦我提供了唯一的id,我就会得到预期的结果。

最新更新