如何以编程方式选择Kendo UI treeview的根节点

时间:2014-02-18 14:48:45

标签: kendo-ui kendo-treeview

我是一名Kendo UI新手。我的Asp.net MVC应用程序有一个Kendo UI树视图,其设置如下。每个树节点具有唯一的Id(例如,EmployeeId是整数)。如何以编程方式选择Kendo UI treeview的根节点(ID为1),根节点的背景颜色应该高亮?谢谢你的帮助。

           var _root = new kendo.data.HierarchicalDataSource({
                transport: {
                    read: {
                        cache: false,
                        url: "/Employee/GetEmployees",
                        dataType: "json",
                        data: { employeeId: _selectedId}
                    }
                },
                schema: {
                    model: {
                        id: "Id",
                        hasChildren: "HasChildren",
                        expanded: "expanded",
                        parentId: "parentId",
                        ItemType: "ItemType"
                    }
                }
            });

            _tree = $("#treeView").kendoTreeView({
                dataSource: _root,
                dataTextField: "Name",
                loadOnDemand: true,                
                dataImageUrlField: "Image",
                dataBound: function (e) {
                    handleTreeDataBound(e);
                },
                select: function (e) {
                    handleSelect(e.node);
                }
            });

            treeViewCtrl = $("#treeView").data("kendoTreeView");

3 个答案:

答案 0 :(得分:2)

使用treeview的select方法,您可以选择第一个节点:

treeViewCtrl.select($("#treeView").find(".k-item").first());

如果您有多个根节点,那么您必须使用dataItem方法获取数据项并将其ID与您要选择的ID进行比较。

答案 1 :(得分:2)

如果您拥有多个根节点,则获取所有根节点的另一种方法是使用CSS选择器获取li treeview的直接子节点ul。从那里,您可以获得每个根的dataItem

$("#treeview").find("ul > li").each(function () {
     var dataItem = treeView.dataItem($(this));
     console.log(dataItem.text);
});

答案 2 :(得分:2)

你也可以使用这段代码:

treeview.select($('.k-item:first'));

这将选择根节点。您也可以使用以下方式展开它:

treeview.expand($('.k-item:first'));