2012-04-24 13 views
7

Używam Primefaces 3.2 z JSF 2.0.ajaxStatus tylko dla określonego komponentu

Używam

<p:commandButton action="#{myBackingBean.action}" value="press me" /> 

a to dla ajaxStatus:

<p:ajaxStatus onstart="statusDialog.show();" 
     onsuccess="statusDialog.hide();" 
     rendered="#{myBackingBean.ajaxStatusRendered}" 
     id="ajaxStatusField" /> 

    <p:dialog modal="true" widgetVar="statusDialog" 
     header="#{myBackingBean.ajaxStatusHeader}" 
     rendered="#{myBackingBean.ajaxStatusRendered}" id="ajaxPanel" 
     draggable="false" closable="false"> 
     <p:graphicImage value="./images/ajaxloader.gif" /> 
    </p:dialog> 

ja mam wiele innych składników primefaces również na tej samej stronie, ale chcę tylko p: ajaxStatus do renderowania po naciśnięciu tego konkretnego przycisku. Jakieś dobre rozwiązanie tego? The ajaxStatus renderuje się na każdym zdarzeniu ajaxowym ..

+1

Jeśli dysponowałeś kilkoma przyciskami możesz ustawić na nich global = "false" i pozostawić pożądany przycisk bez tego ustawienia, w ten sposób wszystkie pozostałe przyciski nie wywoływałyby p: ajaxStatus, podczas gdy pożądany przycisk byłby .. (ale myślę, że to nie pasuje do twojej sprawy ...) – Daniel

+0

Świetnie, zadziałało, dziękuję bardzo! Napisz to w odpowiedzi, więc dam ci kredyt. – baron5

Odpowiedz

8

Jeśli masz kilka przycisków, możesz ustawić je na global="false" i pozostawić żądany przycisk bez tego ustawienia.

W ten sposób wszystkie pozostałe przyciski nie wyzwoliłyby p:ajaxStatus, podczas gdy pożądany przycisk byłby.

Powiązane problemy