2017-09-12 18 views
0

私はGWTアプリケーションで作業しています。私はRPCメソッドからすべてのGwtDomainオブジェクトを表示するためにcom.google.gwt.user.client.ui.Tree;com.google.gwt.user.client.ui.TreeItem;ウィジェットを使用しています。すべてのGwtDomainにはいくつかのGwtActions値があります(ほとんどの場合、すべての場合ではなく、読み込み、書き込み、削除されます)。ツリーウィジェットはリスト(GWT)から1つの値しか表示しません

 GWT_DOMAIN_SERVICE.findAll(new AsyncCallback<List<GwtDomain>>() { 

       @Override 
       public void onFailure(Throwable caught) { 
        exitMessage = MSGS.dialogAddPermissionErrorDomains(caught.getLocalizedMessage()); 
        exitStatus = false; 
        hide(); 
       } 

       @Override 
       public void onSuccess(List<GwtDomain> result) { 



        for (final GwtDomain gwtDomain : result) { 
         GWT_DOMAIN_SERVICE.findActionsByDomainName(gwtDomain.name(), new AsyncCallback<List<GwtAction>>() { 

          @Override 
          public void onFailure(Throwable caught) { 
           exitMessage = MSGS.dialogAddPermissionErrorActions(caught.getLocalizedMessage()); 
           exitStatus = false; 
           hide(); 
          } 

          @Override 
          public void onSuccess(List<GwtAction> result) { 

           for (GwtAction gwtAction : result) { 
           rootCheckBox= new CheckBox(); 
           rootCheckBox.setBoxLabel(gwtDomain.toString()); 
            treeItemCheckox = new CheckBox(); 

            rootTreeItem = new TreeItem(rootCheckBox); 
            treeItem = new TreeItem(treeItemCheckox); 
            treeItemCheckox.setBoxLabel(gwtAction.toString()); 
            rootTreeItem.addItem(treeItem); 

           } 
           tree.addItem(rootTreeItem); 

    } 
        }); 

} 

しかし、このコードで、私はいつもただ一つの値GwtActionからではない、ほとんどの場合、すべての値を(持っている:これは、すべてのGwtDomainsを見つけ、彼のするonSuccess方法で、私はそのGWTDOMAINのためのすべてのGwtActionsを探していますのための私の方法であり、それは各treeItem2に対して3つの項目でなければなりません。誰かが私を助けてくれますか?

答えて

2

これは正常です。コードtree.addItem(rootTreeItem);はforループの外側です。 中に入っている必要があります! よろしくお願いいたします。

関連する問題