2017-01-17 3 views
0

이 예제는 역할을 나열하는 것으로 구성되며 각 역할에 대해 연관된 그룹 및 사용자를 표시하려고합니다.Datatable 행 확장 Treetable

XHTML

 <p:column headerText="Designation"> 
      <h:outputText value="#{rl.designation}" /> 
     </p:column> 


      <p:rowExpansion> 
       <p:treeTable value="#{roleMB.root}" var="document"> 
        <p:column headerText="Designation"> 
        <h:outputText value="#{document}" /> 
        </p:column> 
       </p:treeTable> 
      </p:rowExpansion> 
</p:dataTable> 

CONTROLLER 각 역할의 트리 테이블을 표시하는 데 사용

방법. 당신의 방법에

<p:ajax event="rowToggle" listener="#{managedBean.createRoot(role)}" update=":treeGroupe" /> 

<p:rowExpansion> 
    <p:treeTable id="treeGroupe" value="#{roleMB.root}" var="groupe"> 
     <p:column headerText="Designation"> 
      <h:outputText value="#{groupe.designation}" /> 
     </p:column> 
    </p:treeTable> 
</p:rowExpansion> 

둘째 당신이 당신이 가진 당신이 hundling하는 역할을 통과해야하고 :

public void createRoot(){ 
     List<AffectationRoleGroupe> groupesRole=new ArrayList<AffectationRoleGroupe>(); 
     for(Role rl:roles){ 

     root=new DefaultTreeNode("Root", null); 

     groupesRole=rl.getAffectationsRG(); 
     for(AffectationRoleGroupe a:groupesRole){ 
      System.out.println(rl.getDesignation()); 
      System.out.println(a.getGroupe().getDesignation()); 
      TreeNode node = new DefaultTreeNode(a.getGroupe().getDesignation(), root); 
     } 
    } 
+0

및 무엇이 문제입니까? –

답변

0

먼저 각 역할의 목록의 Groupe의 생성을 트리거 rowToggle 이벤트를 누락 역할의 그룹 트리의 노드를 채우기 위해 :

public void createRoot(Role role){ 
    ...... 
} 

당신은 트리 테이블을 hundle하는 방법을 볼 수 있습니다 http://www.primefaces.org/showcase/ui/data/treetable/basic.xhtml