我想在运行时为kendoui treelist设置数据源。请检查以下示例。如果在设计时设置数据源,则可以在控件中看到数据。但是,如果我试图在运行时设置数据源,则不会在控件中看到数据。
<div id="treeList"></div>
<script>
var data = [ { name: "Jane Doe" }, { name: "John Doe" }];
var dataSource = new kendo.data.TreeListDataSource({
data: [ { name: "Jane Doe" }, { name: "John Doe" }]
});
$("#treeList").kendoTreeList({
columns: [
{ field: "name" },
{ command: [{ name: "edit" }] }
],
editable: true
//,dataSource: dataSource
});
var grid = $("#treelist").data("kendoTreeList");
grid.setDataSource( dataSource);
grid.dataSource = dataSource;
grid.dataSource.read();
grid.dataSource.data(data);
</script>发布于 2016-04-10 20:36:31
问题似乎在于选择器本身。逻辑是正常的,但由于某种原因,data("kendoTreeList")返回的对象为null。在data初始化之后,我更新了您的代码以链接kendoTreeList。
var dataSource = new kendo.data.TreeListDataSource({
data: [ { name: "Jane Doe" }, { name: "John Doe" }]
});
var grid = $("#treeList").kendoTreeList({
columns: [
{ field: "name" },
{ command: [{ name: "edit" }] }
],
editable: true
}).data("kendoTreeList");
grid.setDataSource(dataSource);说起来有点奇怪,但我认为你的代码和我的代码是等价的。显然,不是,但我不知道为什么。
发布于 2018-08-21 18:15:56
您的主要问题是将DOM元素的id设置为"treeList“。
var grid = $("#treelist").data("kendoTreeList");正如您在这里看到的,在设置网格变量时使用所有小写。那是你唯一的问题。它应该是这样的:
var grid = $("#treeList").data("kendoTreeList");https://stackoverflow.com/questions/36523803
复制相似问题