Javascript 在DojoDataGrid中添加一行

Javascript 在DojoDataGrid中添加一行,javascript,datagrid,dojo,Javascript,Datagrid,Dojo,努力找到一点易于理解的代码 如何在DojoDataGrid(版本1.4.2)中添加行并清除所有行。假设数据是2列,带有customerID和address 我正在使用 dojo.data.ItemFileWriteStore 将值存储在中,但仍然不确定该如何使用 不会那么难的 干杯。您可以使用grid.store从网格中获取数据存储引用,然后您可以使用store.newItem()在存储中创建新项目。此新项将作为新行添加到网格中。例如,store.newItem({customerID:1,地

努力找到一点易于理解的代码

如何在DojoDataGrid(版本1.4.2)中添加行并清除所有行。假设数据是2列,带有customerID和address

我正在使用

dojo.data.ItemFileWriteStore
将值存储在中,但仍然不确定该如何使用

不会那么难的


干杯。

您可以使用
grid.store
从网格中获取数据存储引用,然后您可以使用
store.newItem()
在存储中创建新项目。此新项将作为新行添加到网格中。例如,
store.newItem({customerID:1,地址:“某处”})


要清除所有行,您可以循环数据存储中的所有项并使用
deleteItem()
删除所有项,或者使用数据网格中的内部函数
\u clearData()
删除所有行,或者使用
setStore()
为网格设置新的空存储。我更喜欢使用空存储来重置网格。

我已经完成了一个关于此的示例。。。代码在这里


上面的答案是正确的,但您还需要在写入存储上调用
save()
,以“提交”更改。保存时,使用存储的小部件(例如datagrid)将刷新自身

另外,
newItem()
返回刚创建的新项,因此如果不想将对象传递给
newItem
只需修改其返回值,然后
save()
存储

伪代码:

var i = store.newItem({});

store.setValue(i,"newattribute1","new value");
store.setValue(i,"newattribute2","new value 2");

store.save();
告诉您如何使用
newItem()
setValue()
,以及
save()

您应该使用
setStore(new ItemFileWriteStore())
,而不是deleteItem,但我怀疑在执行此操作时存在内存泄漏,请小心。这将创建一个新的空白存储,用于网格

var i = store.newItem({});

store.setValue(i,"newattribute1","new value");
store.setValue(i,"newattribute2","new value 2");

store.save();