我有一个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,通过firebug检查此ID,并将其作为primefaces ajax组件的update属性的值。我还尝试过在html outputformat和param组件中执行此方法,但都没有成功。最后,我尝试更新表单,但这次整个表格呈现为文本文件。是否有一种方法可以在筛选后更新表格大小?顺便说一下,我正在使用primefaces 3.0.RC1-SNAPSHOT,在firefox 7.0.1上测试。非常感谢您的关注和评论。