Question

J'utilise RichFaces 3.3.1 avec JSF RE 1.2 et facelets. J'ai un problème étrange avec la génération HTML d'une riche: dataTable relié à un riche. 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}">
....

La première fois que la page se charge, tout fonctionne bien. Si je visite la même page une seconde fois, en changeant les pages via le datascroller ne rafraîchit pas le datatable plus longtemps. Frapper le bouton d'actualisation résout le problème.

Ajout a4j: log révélé cet avertissement:

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

En effet, lors de l'inspection du HTML, la page "correcte" ressemble à ceci:

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

Alors que la page "mauvais" ressemble à ceci:

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

Remarquez le « : 0 » à la fin de l'ID, il ne devrait pas être là. Ce qui pourrait être la cause?

Merci pour toute entrée.

Était-ce utile?

La solution

ok trouvé. quelque part dans le backing bean je l'ai fait

  

table.setRowIndex (0);

ce que je voulais faire était

  

table.setFirst (0);

L'ancien fait apparemment le générateur suppose qu'il génération de lignes, de sorte qu'il retourne un identifiant de ligne, annexant « : 0 ». Aucune idée de comment cela affecte seulement la deuxième fois que la page est générée bien. Espérons que cela est utile à quelqu'un d'autre fois.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top