Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jqgrid JgTreeGrid在不使用loaded:true的情况下将节点扩展到特定级别_Jqgrid - Fatal编程技术网

Jqgrid JgTreeGrid在不使用loaded:true的情况下将节点扩展到特定级别

Jqgrid JgTreeGrid在不使用loaded:true的情况下将节点扩展到特定级别,jqgrid,Jqgrid,我使用jqgrid作为树状体来显示层次结构。 数据是从数据库中提取出来的,我正在基于在服务器端完成的父子关系构建层次结构数据。 一页加载我将树加载到x级别这是基于数据库中的一些用户设置/首选项。 因此,用户可以看到前几个级别,然后单击一个节点按需加载更多级别。问题:我无法使用loaded:true展开加载树,因为这将无法按需加载其余级别。 我尝试使用expandRow expandNode,这会在页面加载时展开树,但在折叠过程中会出现问题。我不能折叠树节点。 那么,对于我来说,自动展开树并在页面

我使用jqgrid作为树状体来显示层次结构。 数据是从数据库中提取出来的,我正在基于在服务器端完成的父子关系构建层次结构数据。 一页加载我将树加载到x级别这是基于数据库中的一些用户设置/首选项。 因此,用户可以看到前几个级别,然后单击一个节点按需加载更多级别。问题:我无法使用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);


        },
}
您可以使用jqGrid在数据中查找的扩展字段。假设您正在使用,尽管jqGrid的总体思路相同,但它正在扩展其阅读器以查找更多字段:

treeReader = {
   level_field: "level",
   parent_id_field: "parent",
   leaf_field: "isLeaf",
   expanded_field: "expanded"
}

您很可能已经在使用level、parent和isLeaf字段。展开的字段是可选的,但如果它存在且其值为true,则jqGrid将在加载时自动展开节点,并在需要时请求数据。

我已经在所有节点上将展开设置为true,但我认为这不会在当前版本中展开树。这可能是一个旧线程:您可能是true,我上次在4.0之前使用过这个。我将在稍后重新检查,如果答案为true,则将其删除。@anu因此进一步调查表明,该问题已在2008年11月的jqGrid源代码中修复-该问题将不再存在于下一版本中,不知道何时会发生。此时,您可以直接从感谢您的更新中使用grid.treegrid.js。我可以在正式发布之前使用js文件吗?我只是想了解在正式发布之前使用代码的含义。@anu似乎自从上次正式发布以来,该文件中只有两个bug修复,所以它应该与最新版本一起使用。只需取消选中TreeGrid on旁边的复选框,从GitHub下载文件,并在从下载中引用jqGrid脚本后引用它。