Primefaces ajax更新
发布时间:2020-12-16 02:52:31 所属栏目:百科 来源:网络整理
导读:我有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" r
我有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中进行测试.非常感谢您的关注和评论. 解决方法
该
here存在一个未解决的问题,它们为dataTable代码提供了一个补丁.我的解决方法(又名巨大的黑客)不需要触及我更喜欢的primefaces代码库.我测试了下面的事件,但我不明白为什么它不适用于rowEdit事件.
<p:remoteCommand name="updateFilters" update="table:totalid"></p:remoteCommand> <p:dataTable id="tabelaMunicipio" value="#{bean.model}" ...> <p:ajax event="page" oncomplete="updateFilters()"/> <p:ajax event="filter" oncomplete="updateFilters()"/> <p:ajax event="sort" oncomplete="updateFilters()"/> <p:column headerText="#{msg['id']}" sortBy="#{id}"> <h:outputText value="#{item.id}"></h:outputText> <f:facet name="footer"> <h:outputText value="#{bean.model.totals['id']}" id="totalid"/> </f:facet> </p:column> ... </p:dataTable> 是的,我使用p:remoteCommand(由p:ajax中的oncomplete客户端钩子调用)来更新页脚行内的组件.与数据本身相比,这会导致页脚更新的微小延迟,但我可以忍受. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |