@H_301_1@我是JSF的原型3.1新手.
我尝试构建一个“复杂”表,我找不到使用dataTable的好解决方案(我需要一个排序组件).
我尝试构建一个“复杂”表,我找不到使用dataTable的好解决方案(我需要一个排序组件).
我想使用一个基本的POJO来构建一个等同于以下HTML表示的表:
- String field1
- String field2
- List<String> fields3 // 3 items
- String field4
- <table border="1">
- <tr>
- <td rowspan="3">col1</td>
- <td rowspan="3">col2</td>
- <td>col3.1</td>
- <td rowspan="3">col4</td>
- </tr>
- <tr>
- <td>col3.2</td>
- </tr>
- <tr>
- <td>col3.3</td>
- </tr>
- </table>
我给的信息可能太少,所以如果你需要,请告诉我:)
我希望我的问题是明确的.
谢谢
解决方法
用于定制网格的坚固且灵活的解决方案是使用< c:forEach>连同原始< p:panelGrid> ;::
- <html ... xmlns:c="http://java.sun.com/jsp/jstl/core"
- xmlns:p="http://primefaces.org/ui">
- <p:panelGrid>
- <p:row>
- <p:column styleClass="ui-state-default" colspan="2"><!-- header -->
- <h:outputText value="Some Header"/>
- </p:column>
- ...
- </p:row>
- <p:row><!-- other header row -->
- ...
- </p:row>
- <c:forEach items="#{list}" var="element">
- <p:row>
- <p:column styleClass="ui-state-default" rowspan="#{list.sublist.someSizeExpression}"><!-- left rowspan -->
- <h:outputText value="#{element.name}"/>
- </p:column>
- <c:forEach items="#{element.sublist}" var="subelement">
- <p:column>
- <h:selectBooleanCheckBox/>
- </p:column>
- </c:forEach>
- </p:row>
- </c:forEach>
- </p:panelGrid>
- </html>
它看起来不错,Command-Buttons和AJAX在Head和Cells中都有效.