0

我正在使用 JQGrid 4.1.2 版。有了这个,我在使用邻接模型(一次加载)时在树网格中遇到了一些问题。我正在从服务器加载 JSON 数据。树形网格是根据 JSON 数据的行顺序形成的。举例来说:我正在为分支机构和部门形成树状网格。在我的查询中,我无法根据父子层次结构进行排序,因为我需要加入大约 6 个表。但我可以获取具有正确 id、parent、level 和 is_leaf 属性的记录。

网格正在做什么意味着 - 只是它从 JSON 创建行,无论它是什么顺序。所以树格式没有正确出现。当我单击任何部门的根节点时,它会折叠正确的子节点,但所有子节点都在不同的父节点下(根据我的 JSON 顺序)。

以下是我从服务器获取的 JSON 数据。

id     name               level      parent     is_leaf     expanded     loaded
—–    —————–—–            —–—–—–    —–—–—–—–    —–—–—–—–   —–—–—–—–—–   —–—–—–—–—–
B1     Shanghai Pvt Ltd     1        (null)     false       true         true
D3     Finance & Account    2         B1         true        true         true
D4     Production           2         B1         true        true         true
D5     Support              2         B1         true        true         true
D6     Operation            2         B1         false       true         true
D13    Software             2         B1         true        true         true
D82    BPO                  2         B1         false       true         true
D76    Sub D12              3         D1         true        true         true
D75    Sub D11              3         D1         true        true         true
D78    Sub D21              3         D2         false       true         true
D84    Operation1           3         D6         true        true         true
D83    BPO1                 3         D82        false       true         true
D79    Sub D211             4         D78        false       true         true
D87    BPO11                4         D83        true        true         true
D80    Sub D2111            5         D79        true        true         true
D1     Admin                2         B1         false       true         true
D2     Sales                2         B1         false       true         true
B13    Beijing Pvt Ltd      1         (null)     false       true         true
D86    Test 2               2         B13        false       true         true
D134   Test Root            2         B13        true        true         true
D91    Test Level 1         3         D85        false       true         true
D93    Test 2 Level 1       3         D86        true        true         true
D133   Test Level 3         5         D92        true        true         true
D92    Test Level 2         4         D91        false       true         true
D85    Test                 2         B13        false       true         true
B14    Branch Office 3      1         (null)     false       true         true
D132   Software             2         B14        false       true         true
D95    Level 1              3         D132       true        true         true
D94    Root                 2         B14        true        true         true
D136   Level 2              3         D132       true        true         true
B15    Branch Office 4      1         (null)     true        true         true

在 jqgrid 函数中,我已经定义了所有这些。

    treeGrid: true,
    treeGridModel:'adjacency',
    ExpandColumn : 'deptName'

我有什么遗漏/做错了吗,或者这就是树网格现在的工作方式?

4

2 回答 2

1

使用 TreeGrid 时,json 数据需要按其显示方式进行排序。

所有子节点都需要在 json 数据中的父节点之下。这是 TreeGrid 的限制。

在我看来,树应该根据从服务器返回的数据中已经定义的关联进行渲染

于 2012-08-22T23:37:07.140 回答
0

我从未在 jqgrid 中实现 treeGrid,但我建议你检查这些参考资料

http://www.ok-soft-gmbh.com/jqGrid/LocalAdjacencyTree8.htm

请参阅http://trirand.com/blog/jqgrid/jqgrid.html上的示例> 3.4 中的新功能 > 树网格邻接模型

这个答案jqGrid (v4.1.2) treegrid 的排序不适用于 Oleg 的 Ajacency Model。

于 2012-08-01T08:37:37.040 回答