2017-01-17 43 views
0

此示例包括列出角色和每個角色,我想顯示與其關聯的組和用戶。數據錶行擴展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用於顯示每個角色的treetable中

方法。

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

首先你缺少觸發每個角色的列表獅集團產生的rowToggle事件:

<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> 

其次在你的方法,你應該通過您安德蘭的角色,然後你有填補樹的節點同組的作用:

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

你可以看到如何hundle treetable中:http://www.primefaces.org/showcase/ui/data/treetable/basic.xhtml