我在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")); 类似的东西,但由于数据是动态的,所以我不知道确切的文字。
有什么方法可以只折叠一个节点而不是整个树。
答案 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');
});