Primefaces blockUI funktioniert nach ajax-Aktualisierung
Ich versuche zu erstellen, die eine Datentabelle zeigt, dass ein blockUI, wenn es besetzt ist, und ich war meist erfolgreich. Jetzt graut und zeigt "Loading..." immer, wenn ich Sie zwei Befehlsschaltflächen, die Sortierung der Datentabelle durch Klick auf eine Kopfzeile oder eine Seite über die datatable. Sehen Sie den code für unten.
Das problem ist, dass nachdem ich eine der Befehlsschaltflächen (läuft ein ajax-update, auf das blockierte element), anschließende Maßnahmen lösen nicht das blockUI (bis ich die Seite aktualisieren). Zum Beispiel:
- Laden Seite
- Klicken Sie auf eine datatable header - blockUI wird angezeigt, bis die Tabelle fertig ist, Sortieren
- Klicken Sie auf eine der datatable-Seite-navigation-Tasten - blockUI erscheint, bis die Seite geladen ist
- Klicken Sie auf eine der Befehlsschaltflächen - blockUI angezeigt wird, bis der button den actionListener beendet hat
- Klicken Sie auf eine datatable header - Tabelle sortiert, aber blockUI nicht angezeigt.
- Klicken Sie auf eine der datatable-Seite Navigations-buttons - Seite geladen, aber blockUI nicht angezeigt
- Klicken Sie auf eine der Befehlsschaltflächen - actionListener wird ausgeführt, und die Tabelle aktualisiert, aber blockUI nicht angezeigt
- Die Seite neu laden - alles funktioniert wieder einwandfrei
Änderung der Befehlsschaltflächen " update=" Attribut" ajax="false" bewirkt, dass die Sortierung/paging immer angezeigt das blockUI, aber die Befehlsschaltflächen zu zeigen nie das blockUI.
Irgendwelche Ideen?
<div class="buttonDiv">
<p:commandButton ... update="resultsPanel" id="submitButton" ... />
...
<p:commandButton ... update="resultsPanel" id="resetScenarioButton" ... />
</div>
<p:panel header="Results Grid" id="resultsPanel">
...
<p:dataTable ... id="VAResults" ... >
...
</p:dataTable>
....
</p:panel>
<p:blockUI block="resultsPanel" trigger="submitButton, resetScenarioButton, VAResults">
Loading...
</p:blockUI>
- ich kinda habe ein ähnliches Szenario, wie Ihr in meinem Projekt, aber ich update die ganze form nach der button-Klicks... ich weiß nicht, ob es das ist, was Sie tun möchten, wenn
Du musst angemeldet sein, um einen Kommentar abzugeben.
Den
trigger
Attribut bindet jQuery Zuhörer auf die angegebenen Elemente. Allerdings, wenn Sie ein update für ein element die Bindung verloren geht. Ich weiß nicht, ob es funktioniert, aber man könnte versuchen, die<p:blockUI
innerhalb derresultsPanel
. Ich vermute, dass wenn Sie ein update für das panel das blockUI wird auch aktualisiert und somit wieder die Bindung der Hörer an die Daten-Tabelle.blockui
außerhalb der Formular und das ist, warum ich habe ein problem, Dank Mann (Y)Ich habe das gleiche problem und ähnliche Art von Szenario:
Das problem war, dass panel Tasten wurde aktualisiert von ajax, und blockiert durch blockUI. Ich musste aufteilen in zwei: