【问题标题】:How to unbind kendo datasource from ajax call and work programmatically如何从 ajax 调用中解除 kendo 数据源的绑定并以编程方式工作
【发布时间】:2014-04-07 20:05:09
【问题描述】:
我有一个 kendo.ui.grid。我想在最初渲染时使用 ajax 下载网格数据。接下来,我想解除网格与 ajax 调用的绑定,并以编程方式添加新记录并删除现有记录。重要的是,我想随时过滤和排序数据,当然是在本地副本上工作,而不发送 ajax 请求。最终,我想(也许用按钮)将所有数据发送到服务器,以保存数据库中的更改。你能提供一些想法吗?
【问题讨论】:
标签:
jquery
ajax
asp.net-mvc
kendo-ui
【解决方案1】:
在他们的演示网站上查看他们的 "bind with local data" 示例。您可以创建自己的 JavaScript AJAX 调用,在页面首次加载时从服务器请求 JSON 格式的数据。然后在成功时,将数据与网格绑定,如下所示:
$(document).ready(function() {
//jquery get https://api.jquery.com/jQuery.get/
$.ajax({
url: url,
data: data,
success: function(jsonData) {
//bind to the grid
$("#grid").kendoGrid({
dataSource: {
data: jsonData,
/*****DATA CONFIG OPTIONS****/
},
/*****GRID CONFIG OPTIONS****/
});
},
dataType: "json"
});
});
【解决方案2】:
您可以编写如下代码来请求 json 格式的数据并存储到变量中
var xhReq = new XMLHttpRequest();
xhReq.open("POST", "your url", false);
xhReq.send(null);
var jsonObject = JSON.parse(xhReq.responseText); //data would be store in var jsonObject
$("#grid").kendoGrid({
dataSource:jsonObject
});