Java 数据表行扩展树表
这个示例包括列出角色,对于每个角色,我想显示与其关联的组和用户Java 数据表行扩展树表,java,primefaces,jsf-2.2,Java,Primefaces,Jsf 2.2,这个示例包括列出角色,对于每个角色,我想显示与其关联的组和用户 <p:column headerText="Designation"> <h:outputText value="#{rl.designation}" /> </p:column> <p:rowExpansion> <p:treeTable value="#{rol
<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>
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>
控制器
<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>
用于显示每个角色的树表的方法
<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>
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);
}
}
public void createRoot(){
列表组OLE=new ArrayList();
for(角色rl:角色){
root=新的DefaultTreeNode(“root”,null);
groupesRole=rl.getAffectationsRG();
for(做作角色组a:组角色){
System.out.println(rl.getDesignation());
System.out.println(a.getGroupe().getDesignation());
TreeNode=新的DefaultTreeNode(a.getGroupe().getDesignation(),root);
}
}
首先,您缺少触发每个角色列表组生成的rowToggle事件:
<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>
<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>
您可以看到如何hundle treeTable:问题是什么?
<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>