我正在尝试使用setOptions重新绑定网格,这似乎是一个合适的选项
目前我正在使用Kendo UI v2014.2.903
,我正在尝试使用setOptions,但它没有重新加载我的网格。
代码:
<div id="grid"></div>
<script>
$("#grid").kendoGrid({
columns: [
{ field: "name" },
{ field: "age" }
],
dataSource: [
{ name: "Jane Doe", age: 30 },
{ name: "John Doe", age: 33 }
]
});
setTimeout(function(){
alert('update check')
var grid = $("#grid").data("kendoGrid");
grid.setOptions({
columns: [
{ field: "name" },
{ field: "age" },
{ field: "code" }
],
dataSource: [
{ name: "Jane Doe", age: 30,code:1 },
{ name: "John Doe", age: 33,code:11 }
]
});
grid.setDataSource([
{ name: "Jane Doe", age: 30,code:1 },
{ name: "John Doe", age: 33,code:11 }
]);
},2000);
</script>
示例 here ,显示问题。
当我将版本更新为2016.2.504
时,setOptions似乎可以使用示例 here 。
如果有人可以帮我解决我在2014版中看到的问题,那将会很有帮助。
答案 0 :(得分:1)
我认为这可能是Kendo UI v2014.2.903
的错误或不支持的功能(我不确定,我认为您应该在telerik论坛上发帖以获得实际答案。我也很好奇)
但是因为你想要一些工作/黑客。一种方法是修改列如下:
var grid = $("#grid").data("kendoGrid");
var ds = grid.dataSource;
grid.columns = [];
grid.thead.remove();
ds.data([{ name: "Jane Doe", age: 30,code:1 },
{ name: "John Doe", age: 33,code:11 }]);