【问题标题】:richFaces reRender not refreshingrichFaces reRender 不刷新
【发布时间】:2013-02-12 05:01:47
【问题描述】:

我的页面结构如下:

Data Scroller
Datatable :
 - Header
 -  Data
 -  Footer
Data Scroller

现在,我希望在页面更改时重新呈现数据滚动条和页脚。为此,我调用了一个 bean,它返回要在 dataScrollers 中的 reRender 标记下更改的字段的 ID。然而,问题是数据滚动条正在重新渲染,但页脚没有。在页脚中调用的方法不再被调用,但我知道 reRender id 的列表是正确的。

我有以下代码:

  <h:form title="detailView">

...

<rich:dataScroller align="center" for="attendanceList" maxPages="10"
        renderIfSinglePage="false" faststep="4"
        page="#{attendance.scrollerPage}" reRender="#{attendance.getRefreshIds(attendance.SourceSc2)}" id="sc1" ajaxSingle="false"/>
<rich:dataTable width="500" id="attendanceList"
        rows="#{attendance.getDatesAmount()}" columnClasses="attendance"
        value="#{attendance.getAttendanceList(myEmp)}" var="a">
    <f:facet name="header">

...

</f:facet>
<h:column>
    <h:outputText value="#{a.dayOfWeek}" />
</h:column>

...

<h:column>
    <h:outputText value="#{a.totalTime}" />
</h:column>
<f:facet name="footer" id="tot">
    <rich:columnGroup>
    <h:column></h:column><h:column></h:column><h:column></h:column><h:column></h:column><h:column></h:column><h:column></h:column><h:column></h:column><h:column></h:column><h:column></h:column>
<h:column> <b><h:outputText value="Total" /> </b></h:column>
<h:column> <b><h:outputText value="#{attendance.getTotalForPage()}" /> </b></h:column> 
    </rich:columnGroup>
</f:facet>
</rich:dataTable>
 <rich:dataScroller width="400" align="center" for="attendanceList"
maxPages="20" renderIfSinglePage="false" faststep="4"
page="#{attendance.scrollerPage}" id="sc2" reRender="#{attendance.getRefreshIds(attendance.SourceSc2)}" ajaxSingle="false"/>

...

 </h:form>

【问题讨论】:

  • 什么是#{attendance.getTotalForPage()}?为什么要尝试从 value 属性调用操作方法?看起来应该是 #{attendance.totalForPage}
  • 不,每次都会重新计算该值,因此将其存储在任何地方都是毫无意义的。没有变量,只有方法。

标签: richfaces footer rerender datascroller


【解决方案1】:

不确定您使用的是哪个射频(3.x?)尝试放置一个

<a4j:support event="onpagechange" reRender="#{attendance.getRefreshIds(attendance.SourceSc2)}"/> 

在您的 &lt;rich:dataScroller&gt; 中并将 h:form 更改为 a4j:form

【讨论】:

    猜你喜欢
    • 2015-03-18
    • 2015-08-01
    • 2012-05-31
    • 2013-12-07
    • 2023-04-05
    • 1970-01-01
    • 2012-11-07
    • 2012-05-03
    • 2019-12-27
    相关资源
    最近更新 更多