Dav*_*ers 9 java datatable jsf
我想知道是否有任何方法在ah中有多个页脚行:dataTable(或t:datatable)我想做这样的事情(不编译)
<h:dataTable ... var="row">
<h:column>
<f:facet name="header">
Header
</f:facet>
<h:outputText value="#{row.value}"/>
<f:facet name="footer">
FirstFooter
</f:facet>
<f:facet name="footer">
Second Footer in a new tr
</f:facet>
</h:column>
</h:dataTable>
Run Code Online (Sandbox Code Playgroud)
结果是这样的事情
<table border=1 style="border:1px solid">
<thead><tr><th>Header</th></tr></thead>
<tbody><tr><td>Data Value 1</td></tr>
<tr><td>Data Value 2</td></tr>
<tr><td>Data Value ...</td></tr>
<tr><td>Data Value n</td></tr>
</tbody>
<tfoot>
<tr><td>FirstFooter</td></tr>
<tr><td>Second Footer in a new tr</td></tr>
</tfoot>
</table>
Run Code Online (Sandbox Code Playgroud)
任何想法如何最好地实现这一目标?谢谢.
编辑:如果我可以避免使用自定义控件/自定义渲染器,那将是很好的
我最终使用的解决方案是与t:datatable相关联的自定义渲染器(对数据表的tomahawk扩展)
public class HtmlMultiHeadTableRenderer extends HtmlTableRenderer
Run Code Online (Sandbox Code Playgroud)
我只需要覆盖一个方法
protected void renderFacet(FacesContext facesContext,
ResponseWriter writer, UIComponent component, boolean header)
Run Code Online (Sandbox Code Playgroud)
在其中我查找了带有名称标题,标题2,标题3 ...标题的小平面(我只有一个缺失时停止查看)和页脚相同.这让我做了类似的代码
<h:dataTable ... var="row">
<h:column>
<f:facet name="header">
Header
</f:facet>
<f:facet name="header2">
A second Tr with th's
</f:facet>
<h:outputText value="#{row.value}"/>
<f:facet name="footer">
FirstFooter
</f:facet>
<f:facet name="footer2">
Second Footer in a new tr
</f:facet>
</h:column>
</h:dataTable>
Run Code Online (Sandbox Code Playgroud)
这花费了大约一天(还有一些其他扩展,例如允许基于组的colspans)来编码和记录,
| 归档时间: |
|
| 查看次数: |
19635 次 |
| 最近记录: |