5

フォルダーの「+」記号を使用して展開するツリー ノードの子レコードを取得する必要があります。特定のノードに子がない場合、「+」記号は消えるはずです。この要件は、リンクの要件と似ています

しかし、これがうまくいかないこともあります。親ノードのみがフォルダを表示し、子ノードはデフォルトでフォルダになりません。以下は私が使用しているコードです。上記のリンクからコードをコピーしました。唯一の変更点は、データ ソースをツリー ノードに置き換えることです。

public void onModuleLoad()
    {
        ツリー adminTree = new Tree();
        adminTree.setID("adminTreeId");
        adminTree.setModelType(TreeModelType.PARENT);
        adminTree.setRootValue("/");
        adminTree.setAutoOpenRoot(true);

        TreeGrid adminTreeGrid = new TreeGrid();  
        adminTreeGrid.setWidth(500);  
        adminTreeGrid.setHeight(400);  
        adminTreeGrid.setShowOpenIcons(false);  
        adminTreeGrid.setShowDropIcons(false);  
        //adminTreeGrid.setClosedIconSuffix("");  
        adminTreeGrid.setAutoFetchData(true);  
        adminTreeGrid.setData(adminTree);  

        TreeNode treeNode1 = new TreeNode();
        treeNode1.setTitle("ノード 1");
        treeNode1.setID("node1");

        TreeNode treeNode2 = new TreeNode();
        treeNode2.setTitle("ノード 2");
        treeNode2.setID("node2");

        TreeNode treeNode3 = new TreeNode();
        treeNode3.setTitle("ノード 3");
        treeNode3.setID("node3");

        TreeNode treeNode4 = new TreeNode();
        treeNode4.setTitle("ノード 4");
        treeNode4.setID("node4");

        adminTree.add(treeNode1, "/");
        adminTree.add(treeNode2, "/");
        adminTree.add(treeNode3, treeNode1);
        adminTree.add(treeNode4, treeNode2);

        adminTreeGrid.draw();       
    }

「ノード 1」と「ノード 2」には「+」記号の付いたフォルダが表示されていますが、「ノード 3」と「ノード 4」にはフォルダを展開するオプションが表示されていません。

何か足りない場合は助けてください。

ありがとう、ヴァムシ

4

2 に答える 2

5

各ノードに対してデフォルトで setIsFolder(true) を使用し、リーフ ノードに対して false にすることで、これを解決しました。サンプル コードが必要な場合はお知らせください。

于 2011-07-29T06:20:58.060 に答える
1

「getCanDropOnLeaves(true)」を使用する必要があると思います

TreeGridのAPIリンク

于 2011-05-19T21:28:21.420 に答える