【问题标题】:How to reload data in primefaces datatable from managed bean?如何从托管 bean 重新加载 primefaces 数据表中的数据?
【发布时间】:2016-04-05 11:18:56
【问题描述】:

我想从托管 bean 重新加载数据表中的数据,我认为更新数据表组件会有所帮助:

RequestContext.getCurrentInstance().update(datatableId);

并调用getttList方法,将更新后的数据返回到表中。

这是数据表:

<p:dataTable id="transactionsTable" var="data" value="#{transactionsPage.ttList}" widgetVar="#{focusedTab}" 
                     rowKey="#{data.id}"
                     draggableColumns="true" 
                     draggableRows="true"
                     resizableColumns="true" emptyMessage="#{msg['form.noTransactionsFound']}" rows="20"
                     selectionMode="multiple" selection="#{transactionsPage.selectedTransactions}"
                     filteredValue="#{transactionsPage.filteredttList}" paginator="true" paginatorPosition="both" paginatorTemplate="{CurrentPageReport} {RowsPerPageDropdown} {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink}"
                     >

有没有办法做到这一点?

【问题讨论】:

    标签: primefaces datatable reload


    【解决方案1】:

    您发布的内容理论上应该有效

    确保通过在页面的输出源代码中检查来输入正确的 id,因为 primefaces 会将父元素的 id 添加到子元素

    【讨论】:

    • 我给出了预定义 ID 的整个路径,并使用 Chrome DevTools 进行了检查,这似乎是正确的。有没有办法调试并查看为什么不调用方法 getttlist(向数据表提供数据)并检查数据表是否实际上正在刷新?
    • 数据表在 ui:repeats 里面吗?您在哪个事件上调用更新?以及从托管 bean 调用更新而不是通过 xhtml 的任何原因?
    猜你喜欢
    • 1970-01-01
    • 2014-02-03
    • 2012-03-03
    • 2013-03-24
    • 2013-10-10
    • 1970-01-01
    • 2013-06-27
    • 1970-01-01
    • 2014-12-19
    相关资源
    最近更新 更多