2017-09-12 8 views
0

GWT 앱에서 작업 중이며 com.google.gwt.user.client.ui.Tree;com.google.gwt.user.client.ui.TreeItem; 위젯을 사용하여 RPC 메소드의 모든 GwtDomain 객체를 표시합니다. 모든 GwtDomain에는 일부 GwtActions 값이 있습니다 (대부분의 경우 읽기, 쓰기, 삭제가 있지만 모든 경우에 해당하지는 않음).트리 위젯은 목록 (GWT)에서 하나의 값만 표시합니다.

 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에서 단 하나 개의 값 모든 값이 : 이것은 내가 그 GwtDomain에 대한 모든 GwtActions을 찾고 모든 GwtDomains을 찾기위한 그의는 onSuccess 방법 나의 방법이다 각 treeItem2에 대해 3 개 항목이어야합니다. 누군가 나를 도울 수 있습니까?

답변

2

정상입니다. 코드 tree.addItem(rootTreeItem);은 for 루프 밖에 있습니다. 안에 있어야합니다! 감사합니다.