Richfaces: Problem mit HTML-Generierung von datascroller / Datatable
-
22-09-2019 - |
Frage
Ich bin mit Richfaces 3.3.1 mit JSF RE 1.2 und facelets. Ich habe ein seltsames Problem mit der HTML-Generierung eines reichen: Datatable mit einem reichen. 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}"> ....
Das erste Mal die Seite geladen wird, alles gut funktioniert. Wenn ich die gleiche Seite ein zweites Mal besuchen, wechselnde Seiten über die datascroller nicht aktualisiert die Datentabelle mehr. Schlagen Sie die Refresh-Button löst das Problem.
Hinzufügen a4j: log diese Warnung offenbart:
warn[14:50:07,259]: Node for replace by response with id br:bt not found in document
der Tat, wenn die HTML-Inspektion, die "richtige" Seite sieht wie folgt aus:
<table class="dr-table rich-table " id="br:bt" ....
Während die "schlechte" Seite sieht wie folgt aus:
<table class="dr-table rich-table " id="br:bt:0" ....
Beachten Sie die „0“ am Ende der ID sollte es nicht da sein. Was könnte die Ursache sein?
Vielen Dank für jede Eingabe.
Lösung
ok habe es gefunden. irgendwo in der Backing Bean ich habe
table.setRowIndex (0);
, was ich tun gemeint war
table.setFirst (0);
Der ehemalige macht offenbar der Generator annehmen, dass er der Erzeugungs Reihen, so dass er eine Reihe ID zurückgibt, das Anhängen „: 0“. Keine Ahnung, wie dies erst das zweite Mal wirkt die Seite erzeugt though. Hoffe, dass dies jemand anderes einmal nützlich ist.