我在页面上跟随kendoGrid
,加载时从指定的网址接收JSON
个对象。
但后来我想将它绑定到从其他来源收到的其他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 },
... ...
]
});
答案 0 :(得分:8)
您可以使用以下命令替换DataSource中的所有数据:
var newData = [ "some", "data", "array" ];
var gridWidget = $('#grid').data("kendoGrid");
gridWidget.dataSource.data(newData);
或者您可以为网格提供一个全新的DataSource(我推荐这种方法):
var newData = new kendo.data.DataSource({
data: [ "some", "data", "array" ]
});
var gridWidget = $('#grid').data("kendoGrid");
gridWidget.setDataSource(newData);
当然,我的示例中的newData
只是从您的函数返回的数据。
答案 1 :(得分:0)
新JSON的结构是否相同(相同的列和相同的数据模型)?如果是,那么是的,只需使用transport.read
或transport.read.url
,而不是将其定义为string
,将其定义为返回其中一个或另一个的函数。
请记住,transport.read
可能是一个对象或一个函数。 transport.read.url