【发布时间】:2011-12-17 06:54:18
【问题描述】:
我有 primefaces 数据表,
<p:panel id="resultpanel">
<p:dataTable id="tbl" var="job" value="#{report.jobModel}"
paginator="true" rows="#{report.jobModel.pageSize}"
paginatorPosition="bottom" lazy="true" scrollable="true"
resizableColumns="true" rendered="#{!empty report.jobModel}"
emptyMessage="#{messages['common.datatable.emptymessage']}">
<p:ajax event="filter" listener="#{report.jobModel.onFilter}"
update="@form" />
<p:column sortBy="#{job.detail4}" filterBy="#{job.detail4}">
<f:facet name="header">
<h:outputText value="#{messages['content.donejobs.ftdi.datatable.fixedfeecolumn.header']}" />
</f:facet>
<h:outputText value="#{job.detail4}">
<f:converter converterId="KurusLiraConverter"></f:converter>
</h:outputText>
</p:column>
<f:facet name="footer">
<h:outputFormat value="#{messages['content.donejobs.ftdi.datatable.footer']}">
<f:param value="#{report.jobModel.rowCount}" />
</h:outputFormat>
<p:panel layout="block" style="border: 0px; text-align: center;">
<p:commandLink ajax="false" title="Download Report">
<p:graphicImage value="/images/excel.png" />
<p:fileDownload value="#{report.excelFileOfReportTable}" />
</p:commandLink>
</p:panel>
</f:facet>
</p:dataTable>
</p:panel>
我想在过滤表格时更新页脚部分。我试图通过将页脚中的所有内容放在一个面板中来更新页脚,给它一个 ID,通过萤火虫检查这个 ID,并将它作为一个值提供给 primefaces ajax 组件的更新属性。我也对 html outputformat 和 param 组件执行了这种方法。但没有成功,最后我尝试更新表格,这次整个表格已经像文本文件一样渲染了。过滤后有没有办法更新表大小?顺便说一句,我正在使用 primefaces 3.0.RC1-SNAPSHOT,并在 Firefox 7.0.1 中进行测试。非常感谢您的关注和评论。
【问题讨论】:
-
您是否尝试过使用 autoUpdate="true" 将页脚内容保留在面板中。如果您还没有尝试过,这将是一种简单的方法
标签: ajax jsf-2 primefaces datatable