Richfaces:HTML生成datascroller / datatable的问题

时间:2010-01-25 14:02:22

标签: richfaces richdatatable

我正在使用带有JSF RE 1.2和facelets的RichFaces 3.3.1。 我有一个奇怪的问题:生成一个富的HTML:dataTable连接到一个rich:datascroller。

<h:form id="br">
...
 <rich:datascroller id="scrt" page="#{searchBookings.page}" stepControls="hide" renderIfSinglePage="false" for="bt" align="left" reRender="ttips,bt"/>
 <rich:dataTable id="bt" rows="20" rendered="#{!empty searchBookings.bookings}" value="#{searchBookings.bookings}" var="row" binding="#{searchBookings.table}">
....

第一次加载页面时,一切都运行良好。如果我第二次访问同一页面,通过datascroller更改页面不会再刷新数据表。点击刷新按钮可以解决问题。

添加a4j:log显示此警告:

 warn[14:50:07,259]: Node for replace by response with id br:bt not found in document

确实,在检查HTML时,“正确”页面如下所示:

  <table class="dr-table rich-table " id="br:bt" ....

“坏”页面看起来像这样:

  <table class="dr-table rich-table " id="br:bt:0" ....

注意ID末尾的“:0”,它不应该在那里。可能导致这种情况的原因是什么?

感谢您的任何意见。

1 个答案:

答案 0 :(得分:1)

好的,发现了。 在我的支持bean的某个地方

  

table.setRowIndex(0);

我打算做的是

  

table.setFirst(0);

前者显然让生成器假设他正在生成行,所以他返回一个行id,追加“:0”。不知道这只会影响第二次生成页面的时间。希望这对其他人有用。