我的页面结构如下:
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>
答案 0 :(得分:1)
不确定您使用的是哪种RF(3.x?)尝试输入
<a4j:support event="onpagechange" reRender="#{attendance.getRefreshIds(attendance.SourceSc2)}"/>
在<rich:dataScroller>
内,并将h:form更改为a4j:form