kendo-ui - 扩展和选择 Kendo Treeview 的第一个节点的问题

标签 kendo-ui kendo-asp.net-mvc hierarchical-data expand kendo-treeview

我有一个由分层数据源填充的 Kendo Treeview 。我想设置在加载 Treeview 时选择和扩展的父节点。我已经写了以下展开并选择这样做。但它不起作用。有人可以提供任何解决方案吗?

    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() 代码的地方是错误的。在您当前调用它们时,树中还没有任何节点,因为尚未填充远程数据源。

在读取远程数据源并且 .k-first 节点存在之后,您必须将选择和展开代码移动到。

您可以通过绑定(bind)到 TreeView 的第一个 dataBound 事件来做到这一点,即:

$("#MenuTreelist").kendoTreeView({
    ....
});

var treeView = $("#MenuTreelist").getKendoTreeView();
treeView.one("dataBound", function () {
    treeView.select(".k-first");
    treeView.expand(".k-first");
});

示例:http://dojo.telerik.com/@Stephen/iYIBo

关于kendo-ui - 扩展和选择 Kendo Treeview 的第一个节点的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41240390/

相关文章:

javascript - 如何在不同场上对剑道网格进行排序?

kendo-ui - Kendo treeview checkchildren ie

javascript - 拖放后 Kendo UI Treeview Sprite 消失

javascript - Kendo UI 网格行高由控件动态设置

c# - 从我的模型类创建 Kendo 图 TableView

php - 如何使用数组值查询mysql/mariadb

sql - 确定自引用表中组的排名

javascript - Kendo DropDownList 焦点上的工具提示

javascript - 使用 javascript asp.net mvc 比较日期

php - MySQL中的一对多关系,选择 "child"表信息