展开和选择 kendo 树视图的第一个节点时出现问题
Issue with expanding and selecting the first node of kendo tree view
我有一个 kendo 树视图,它由分层数据源填充。我想设置父节点 selected 并在加载树视图时展开。为此,我编写了以下扩展和 select。但它不起作用。谁能提供任何解决方案?
var treeData = new kendo.data.HierarchicalDataSource({
transport: {
read: {
url: NsMenuMaster.urls.getMenuTreeUrl,
data: data,
datatype: "json",
type: "POST"
}
},
schema: {
model: {
id: "MenuConfigUid",
children: "Child"
}
}
});
$("#MenuTreelist").kendoTreeView({
dataSource: treeData,
dataTextField: ["MenuText"],
dataValueField: ["MenuConfigUid"],
height: 1000,
template: kendo.template($("#treeview-template").html()),
checkboxes: {
template: "<input type='checkbox' name='StudentClassID' value='#= item.id #' />",
checkChildren: true
},
select: NsMenuMaster.onSelect
});
$("#MenuTreelist").getKendoTreeView().select(".k-first");
$("#MenuTreelist").getKendoTreeView().expand(".k-first");
.select() 和 .expand() 代码所在的位置错误。在您当前调用它们的位置,树中还没有任何节点,因为尚未填充远程数据源。
您必须移动 select 并将代码扩展到 在 读取远程数据源并且存在 .k-first 节点之后。
您可以通过绑定到 TreeView 的第一个 dataBound 事件来做到这一点,即:
$("#MenuTreelist").kendoTreeView({
....
});
var treeView = $("#MenuTreelist").getKendoTreeView();
treeView.one("dataBound", function () {
treeView.select(".k-first");
treeView.expand(".k-first");
});
我有一个 kendo 树视图,它由分层数据源填充。我想设置父节点 selected 并在加载树视图时展开。为此,我编写了以下扩展和 select。但它不起作用。谁能提供任何解决方案?
var treeData = new kendo.data.HierarchicalDataSource({
transport: {
read: {
url: NsMenuMaster.urls.getMenuTreeUrl,
data: data,
datatype: "json",
type: "POST"
}
},
schema: {
model: {
id: "MenuConfigUid",
children: "Child"
}
}
});
$("#MenuTreelist").kendoTreeView({
dataSource: treeData,
dataTextField: ["MenuText"],
dataValueField: ["MenuConfigUid"],
height: 1000,
template: kendo.template($("#treeview-template").html()),
checkboxes: {
template: "<input type='checkbox' name='StudentClassID' value='#= item.id #' />",
checkChildren: true
},
select: NsMenuMaster.onSelect
});
$("#MenuTreelist").getKendoTreeView().select(".k-first");
$("#MenuTreelist").getKendoTreeView().expand(".k-first");
.select() 和 .expand() 代码所在的位置错误。在您当前调用它们的位置,树中还没有任何节点,因为尚未填充远程数据源。
您必须移动 select 并将代码扩展到 在 读取远程数据源并且存在 .k-first 节点之后。
您可以通过绑定到 TreeView 的第一个 dataBound 事件来做到这一点,即:
$("#MenuTreelist").kendoTreeView({
....
});
var treeView = $("#MenuTreelist").getKendoTreeView();
treeView.one("dataBound", function () {
treeView.select(".k-first");
treeView.expand(".k-first");
});