Dgrid更新数据存储

时间:2014-03-26 20:22:46

标签: 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"}
        ];

功能

添加数据

Store.put({id: enteredId, idNumber:enteredIdNumber,idType:enteredIdType})

查询数据

Store.query({idType: enteredIdType})

更新数据 - 我很困惑这是怎么做的

Store.update({idNumber:enteredIdNumber,idType:enteredIdType})

2 个答案:

答案 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(),它应该更新您的表。