我已经成功创建了一个kendo.data.dataSource,我可以将它绑定到我页面上的KendoUI Grid。
但是当我尝试dataSource.insert(0, [a : "b"]);
时,它会移除之前的数据。
我的示例代码如下:
var tempSource = new kendo.data.DataSource({
data: [{"ID":1,"Name":"Cliente 1","NameID":"1 - Cliente 1"},{"ID":2,"Name":"Cliente 2","NameID":"2 - Cliente 2"}]
});
这就是我绑定到网格的方式:
$("#association-grid").kendoGrid({
height: 99,
columns:
[
{
field: "ID",
title: "ID"
},
{
field: "Name",
title: "Name"
},
{
field: "NameID",
title: "NameID"
}
],
dataSource: tempSource
});
这是我添加新项目的方式:
tempSource.insert(0, { ID: "John Smith", Name: "Product Description", NameID: "123 1st Street" });
如果我在将数据绑定到Grid之前执行添加,则会丢失最初在dataSource对象上的前两个项目。
总结: 我有一个预先创建的dataSource绑定到Grid。我希望能够向dataSource添加一个新项目,然后刷新Grid以便显示新项目。
谢谢,
VRC
答案 0 :(得分:24)
试试这个:
dataSource.add({ name: "John Smith", description: "Product Description", address: "123 1st Street" });
答案 1 :(得分:0)
var grid = $("#itemsGrid").data("kendoGrid");
for (var i = 0; i < data.length; i++) {
grid.dataSource.insert(data[i]);
}
将新记录插入网格数据源