Kendo Grid UI:折叠单个Tree节点而不是完整树

时间:2017-09-11 14:18:27

标签: jquery kendo-ui treeview kendo-grid

我在Kendo Grid中有树视图数据(3个级别),我使用Kendo Grid功能来展开/折叠树视图。我的要求是逐级扩展/折叠树数据,而不是一次扩展/折叠。

使用以下代码

展开工作正常

$(".treeview").data("kendoTreeView").expand(".k-item");

问题在于崩溃。通过单击折叠按钮树完全折叠,但我希望它只折叠一次。

我试过了

$(".treeview").data("kendoTreeView").collapse(".k-item"); Collapses to first level
$(".treeview").data("kendoTreeView").collapse(".k-group"); same: Collapses to first level

我可以使用 treeview.collapse(treeview.findByText(" foo")); 类似的东西,但由于数据是动态的,所以我不知道确切的文字。

有什么方法可以只折叠一个节点而不是整个树。

2 个答案:

答案 0 :(得分:1)

如果节点是动态的,首先通过某个函数找到它的值

function collapse() {

    var text= calculateNode(test);

    var treeview = $(".treeview").data("kendoTreeView");
    for (var i = 0; i < nTextValue.length; i++) {
        treeview.collapse(treeview.findByText(text[i]));
    }
}

然后折叠该级别上的所有节点

答案 1 :(得分:0)

这是从手风琴而不是kendoGrid开始的,但我想它可以以相同的方式工作。

var panelCol = $(".treeview").data("kendoTreeView")
panelCol.on('.collapse', function () {
    panelCol.not(document.getElementById($(this).attr('id'))).removeClass('in')
    .addClass('collapse').closest('.panel').find('a').addClass('collapsed');
});
相关问题