Dgrid更新数据存储

dev*_*dar 1 javascript dojo dgrid

我正在使用DGRID来显示数据.我知道我可以使用store.query查询商店中的记录,并使用store.put等将记录插入商店,但是我想对商店进行更新.如何更新商店中的记录?

我更喜欢更新内存存储,然后将其推回到数据库中,而不是先更新数据库,然后刷新内存存储.

数据

 var data = [
            { id:"1", idType: "Passport", idNumber: "12121545WWW" },
            { id:"2",idType: "Drivers Permit", idNumber: "11212154515 FF"},
            { id:"3",idType: "Electoral Identification", idNumber: "425123123121"}
        ];
Run Code Online (Sandbox Code Playgroud)

功能

添加数据

Store.put({id: enteredId, idNumber:enteredIdNumber,idType:enteredIdType})
Run Code Online (Sandbox Code Playgroud)

查询数据

Store.query({idType: enteredIdType})
Run Code Online (Sandbox Code Playgroud)

更新数据 - 我很困惑这是如何完成的

Store.update({idNumber:enteredIdNumber,idType:enteredIdType})
Run Code Online (Sandbox Code Playgroud)

Ken*_*iro 7

你似乎对dojo/store API有点困惑.

  • store.add(item) 用于添加新项目
  • store.put(item) 用于更新项目,但通常也可用于添加具有特定ID的新项目
  • store.remove(id) 用于删除项目

dojo/store/Observable例如new Observable(new Memory({ data: ... })),如果你用你的商店包装,那么当调用add/ put/ 时,网格会自动更新remove.

有关更多信息,请参阅dojo/store文档.

如果您想知道如何通过网格本身更新记录,请查看编辑器列插件.