如何将项目添加到kendo ui网格的数据源中

时间:2012-05-24 09:21:14

标签: javascript grid kendo-ui

我已经成功创建了一个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

2 个答案:

答案 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]);
                    }
  

将新记录插入网格数据源