我有一个xhtml页面,其中使用<a4j:repeat>
和<ui:repeat>
在表格中显示数据。虽然我正在使用RichFaces 3.3,但我使用了上面的内容,因为我的表包含嵌套映射,以下是代码:
<h:form id="viewForm">
<rich:simpleTogglePanel switchType="client" opened="true">
<f:facet name="header"> Display Data </f:facet>
<a4j:outputPanel id="pnlDataTable">
<table class="rich-table " border='1'>
<thead class="rich-table-thead">
<tr class="rich-table-header">
<th class="rich-table-headercell ">
<h:selectBooleanCheckbox value="#{Bean.allSelect}" >
<a4j:support event="onchange" action="#{Bean.allCheck}"
reRender="pnlDataTable" />
</h:selectBooleanCheckbox>
<h:outputText value="Check" />
</th>
<ui:repeat value="#{Bean.viewmap.get(0).dataMap}"
var="displayBean" rendered="#{not empty Bean.viewmap}">
<th class="rich-table-headercell">
<h:outputText value="#{displayBean.name}" />
</th>
</ui:repeat>
</tr>
</thead>
<tbody>
<a4j:repeat value="#{Bean.viewmap}" var="displayRecord"
id="dispData" rows="10">
<tr>
<td>
<h:selectBooleanCheckbox value="#{displayRecord.assigned}">
<a4j:support event="onchange" reRender="recordData"
action="#{Bean.saveReAssigned}" />
</h:selectBooleanCheckbox>
</td>
<ui:repeat id="recordData" var="displayBean"
value="#{displayRecord.dataMap}" >
<td>
<h:outputText value="#{displayBean.value}" />
</td>
</ui:repeat>
</tr>
</a4j:repeat>
</tbody>
</table>
</a4j:outputPanel>
<a4j:outputPanel id="scrollBar">
<rich:datascroller align="left" for="dispData"
renderIfSinglePage="false" reRender="pnlDataTable" />
</a4j:outputPanel>
<br />
<br />
</rich:simpleTogglePanel>
</h:form>
使用<rich:datascroller>
的分页工作正常。现在我想实现列的排序 - 需要建议才能实现这一点。这也是显示数据的正确方法(使用<ui:repeat>
和<a4j:repeat>
)?