Богатые Лица:Проблема с генерацией HTML в datascroller / datatable

StackOverflow https://stackoverflow.com/questions/2132728

  •  22-09-2019
  •  | 
  •  

Вопрос

Я использую RichFaces 3.3.1 с JSF RE 1.2 и facelets.У меня странная проблема с генерацией HTML-кода rich: 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 больше не обновляет datatable.Нажатие кнопки обновить решает проблему.

Добавление 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" ....

Обратите внимание на ":0" в конце идентификатора, его там не должно быть.Что может быть причиной этого?

Спасибо за любой вклад.

Это было полезно?

Решение

ок, нашел это.где-то на заднем плане я сделал

таблица.setRowIndex(0);

то, что я хотел сделать, было

таблица.Установить первым(0);

Первый, по-видимому, заставляет генератор предполагать, что он генерирует строки, поэтому он возвращает идентификатор строки, добавляя ":0".Однако понятия не имею, как это влияет только на создание страницы во второй раз.Надеюсь, это когда-то пригодится кому-то еще.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top