我使用 jqgrid 作为 treegrid 来显示层次结构。
数据是从数据库中提取的,我正在根据在服务器端完成的父子关系构建层次结构数据。
一页加载我将树加载到 x 级别(这是基于 dB 中的一些用户设置/首选项)。
所以用户看到前几个级别,然后他点击一个节点来按需加载更多级别。
问题:我不能使用“loaded:true”来扩展加载树,因为这不能让我按需加载其余的关卡。我尝试使用“expandRow”“expandNode”,这会在页面加载时扩展树,但这在崩溃期间给我带来了问题。我不能折叠树节点。
那么我自动扩展树并在页面加载时显示所有节点然后允许用户按需加载剩余节点的正确方法是什么。代码片段:
gridComplete: function () {
setTimeout(function () {
debugger;
var ids = jQuery("#jqgTreeGrid").getDataIDs();
for (var i = 0; i < ids.length; i++) {
rootNode = $("#jqgTreeGrid").jqGrid('getRowData')[i];
rootNode._id_ = rootNode.Id;
//rootNode.expanded = true;
$("#jqgTreeGrid").jqGrid('expandRow', rootNode);
$("#jqgTreeGrid").jqGrid('expandNode', rootNode);
//$("#" + rootNode._id_ + " div.treeclick")
// .removeClass("ui-icon ui-icon-triangle-1-e treeclick tree-plus")
// .addClass("ui-icon ui-icon-triangle-1-s treeclick tree-minus");
}
}, 10);
},
}