gpt4 book ai didi

collapse - 由于在 kendo Treeview 中添加子项而更新其数据源时防止扩展父节点

转载 作者:行者123 更新时间:2023-12-03 22:51:40 29 4
gpt4 key购买 nike

我有一个带有 3 个根父节点的 kendotreeview。示例如下所示。
当我放下 child 3 进入 新建子群 ,节点“新子组”默认展开 即使它在之前被折叠.我想防止这种可能性。如果 新建子群 之前扩展过,那么我想保持原样。问题是 展开 之前被调用数据绑定(bind) 事件,因此我被困在这里。

请帮忙。

parent 1:

--New SubGroup  
--Child2
--Child3
--Child4

parent 2:
--Child4  
--Child5

Code snippet:
dataBound: function (e) {
console.log("DataBound", e.node);
var nodedataitem = $("#DimMeasTree").data("kendoTreeView").dataItem($(e.node));
if (nodedataitem.FieldKey === "SubGroup" && ($(e.node).attr("aria-expanded")) === "true") {

$("#DimMeasTree").data("kendoTreeView").collapse($(e.node));
}
}

最佳答案

初始化 Treeview 后,我订阅了我自己的自定义扩展函数(即 subgroup_expand())。如下所示:

<div id="treeview"></div>
<script>
function subgroup_expand(e) {
if (typeof event === 'undefined') {
//If browser is Firefox, the subgroup will expand and do not close automatically.
// It is because Firefox does not support "event" attribute gloabally as in IE or in Google chrome.
}
else if (!!e.node && typeof(event) !== 'undefined' && event.type !== "click" && event.type !== "dblclick") {
var nodedataitem = $("#treeview").data("kendoTreeView").dataItem($(e.node));
if (nodedataitem.FieldKey === "SubGroup") {
// e.preventDefault();
setTimeout(function () {
//Collapse the subgroup if it was not expanded by click or dblclick.
$("#treeview").data("kendoTreeView").collapse($(e.node));
}, 50);
}
}
}
$("#treeview").kendoTreeView({
dataSource: modeldata
});
var treeview = $("#treeview").data("kendoTreeView");
treeview.bind("expand", subgroup_expand);
</script>

关于collapse - 由于在 kendo Treeview 中添加子项而更新其数据源时防止扩展父节点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30941791/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com