我正在使用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"}
];
功能
添加数据
Store.put({id: enteredId, idNumber:enteredIdNumber,idType:enteredIdType})
查询数据
Store.query({idType: enteredIdType})
更新数据 - 我很困惑这是怎么做的
Store.update({idNumber:enteredIdNumber,idType:enteredIdType})
答案 0 :(得分: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 documentation。
如果您想知道如何通过网格本身更新记录,请查看editor column plugin。
答案 1 :(得分:1)
你有一个商店结构是什么样的例子吗?通常,如果您的商店标识符是您的“id”,再次添加它将只更新该行。放入新数据后,您可以调用grid.refresh(),它应该更新您的表。