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 に答える