Domanda

Sto utilizzando RichFaces 3.3.1 con JSF RE 1.2 e Facelets. Ho un problema strano con la generazione HTML di una ricca: dataTable collegato ad un ricco:. 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 prima volta che la pagina viene caricata, tutto funziona bene. Se mi visita la stessa pagina una seconda volta, cambiando le pagine tramite il datascroller non aggiorna il datatable più. Colpire il pulsante di aggiornamento risolve il problema.

L'aggiunta di a4j: LOG rivelato questo avvertimento:

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

In effetti, quando si ispeziona il codice HTML, la pagina "corretto" è simile al seguente:

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

considerando che la pagina "cattivo" si presenta così:

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

Si noti la ": 0" alla fine della ID, non dovrebbe essere lì. Quale potrebbe essere la causa?

Grazie per ogni ingresso.

È stato utile?

Soluzione

ok trovato. da qualche parte nel backing bean ho fatto

  

table.setRowIndex (0);

quello che volevo fare era

  

table.setFirst (0);

Il primo apparentemente rende il generatore assumere sta generando righe, per cui restituisce una riga id, aggiungendo ": 0". Nessuna idea di come questo riguarda solo la seconda volta che la pagina viene generata però. Spero che questo è utile a qualcun altro una volta.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top