将现有的Kendo网格绑定到新的JSON对象

Mav*_*ven 2 javascript json kendo-ui kendo-grid

kendoGrid在页面上跟随加载JSON从指定的URL 接收对象.

但后来我想将它绑定JSON到从其他来源收到的其他数据.有没有办法可以使用新JSON对象绑定刷新包含网格的现有数据?

$('#grid').kendoGrid({
    sortable: true,
    groupable: true,
    scrollable: true,

    pageable: {
        pageSizes: 9
    },
    dataSource: {
        transport: {
            read: {
                url: "../Get/JsonData",
                dataType: "Json"
            }
        }
    },
    columns: [
        { field: "name", title: "Name", width: 100 },
        ... ...
    ]
});
Run Code Online (Sandbox Code Playgroud)

Cod*_*ike 8

您可以使用以下命令替换DataSource中的所有数据:

var newData = [ "some", "data", "array" ];

var gridWidget = $('#grid').data("kendoGrid");
gridWidget.dataSource.data(newData);
Run Code Online (Sandbox Code Playgroud)

或者你可以给网格一个全新的DataSource(我推荐这种方法):

var newData = new kendo.data.DataSource({
    data: [ "some", "data", "array" ]
});

var gridWidget = $('#grid').data("kendoGrid");
gridWidget.setDataSource(newData);
Run Code Online (Sandbox Code Playgroud)

当然,newData在我的例子中,只是从你的函数返回的数据.

  • `var dataSource = new kendo.data.DataSource({data:JSON.parse(someJsonString)});` (3认同)