2

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 },
        ... ...
    ]
});
4

2 回答 2

8

您可以将 DataSource 中的所有数据替换为:

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

var gridWidget = $('#grid').data("kendoGrid");
gridWidget.dataSource.data(newData);

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

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

var gridWidget = $('#grid').data("kendoGrid");
gridWidget.setDataSource(newData);

当然newData,在我的示例中,只是从您的函数返回的任何数据。

于 2013-10-29T00:42:07.690 回答
0

新 JSON 的结构是否相同(相同的列和相同的数据模型)?如果是这样,那么是的,只需使用transport.readortransport.read.url而不是将其定义为将其string定义为返回一个或另一个的函数。

请记住,它transport.read可能是一个对象或一个函数。同样发生在transport.read.url

于 2013-10-28T21:18:13.350 回答