Wie zu aktivieren/deaktivieren, primefaces commandButton?
Habe ich zwei buttons auf dem Bildschirm. Beim laden der ersten Seite möchte ich auf button2 ist deaktiviert, bis button1 geklickt wird.
Wenn button1 geklickt wird, button2 muss aktiviert sein.
Habe ich versucht:
<p:commandButton value="Normalize"
actionListener="#{mainTable.normalize}" update="dataTable"
id="normalize" styleClass="ui-priority-primary"
style="font-size: 14px">
<f:setPropertyActionListener value="#{true}"
target="#{mainTable.disable}" />
</p:commandButton>
<p:commandButton value="To Verify Next->" action="verify.xhtml"
actionListener="#{mainTable.verify}" id="next"
styleClass="ui-priority-primary" style="font-size: 14px"
disabled="#{!(bean.disable)}">
</p:commandButton>
Meine Bohne:
@ManagedBean
@SessionScoped
public class MainTable
{
private boolean disable;
public MainTable()
{
disable = false;
}
public boolean isDisable()
{
return disable;
}
public void setDisable(boolean disable)
{
this.disable = disable;
}
}
Aber es funktioniert nicht. Wenn ich klickte button1, button2 ist immer noch deaktiviert.
Was ist falsch?
Debuggen von code. Ist die
Ich reproduzierte den code und es ist perfekt für mich arbeiten.
Ich versuchte es auch ( in normalize-Methode), aber es ist nicht die Arbeit auch.
Sorry, es ist über die Zeile: disabled="#{!(bean.deaktivieren)}"> es sollte mainTable.deaktivieren-Problem gelöst.
Froh zu sehen, dass es funktionierte. Veröffentlichen Sie eine Antwort auf Ihre eigene Frage anstelle der Bearbeitung der Frage selbst zu veröffentlichen die Antwort da.
disable
- Eigenschaft gesetzt? Auch, warum sind Sie mit f:setPropertyActionListener
tag, wenn Sie die normalize
action listener? Nur setzen Sie ihn auf true, wenn normalize
genannt wird.Ich reproduzierte den code und es ist perfekt für mich arbeiten.
Ich versuchte es auch ( in normalize-Methode), aber es ist nicht die Arbeit auch.
Sorry, es ist über die Zeile: disabled="#{!(bean.deaktivieren)}"> es sollte mainTable.deaktivieren-Problem gelöst.
Froh zu sehen, dass es funktionierte. Veröffentlichen Sie eine Antwort auf Ihre eigene Frage anstelle der Bearbeitung der Frage selbst zu veröffentlichen die Antwort da.
InformationsquelleAutor yetAnotherSE | 2013-10-04
Du musst angemeldet sein, um einen Kommentar abzugeben.
Versuchen, aktualisieren Sie die zweite Schaltfläche, die auf klicken auf die erste wie die
dataTable
Ersetzen Sie die
bean
imdisabled="#{!(bean.disable)}">
mitmainTable
=>disabled="#{!(mainTable.disable)}">
Keine Fehlermeldung? Vielleicht versuchen Sie, wickeln Sie die zwei Schaltflächen in einem container wie die primefaces outputPanel (
p:outputPanel
)Es gibt keine Fehlermeldung..
Hat meine Antwort dir geholfen? Ich sehe, du es gelöst hast, aber auch ohne Update-button shouln ' T arbeiten.
Sie sind herzlich willkommen!
InformationsquelleAutor JulianG
Sollten Sie die swap-2 Tasten in einer Outputpanel, und aktualisieren diese outputpanel alter für die next-Taste, wie diese:
rendered
- Attribut, aber mitdisabled
.Dies ist meine Erfahrung, und es funktioniert gut für ein paar Projekte 🙂
in einigen Fällen, OP Beispiel ist die Arbeit in Ordnung, aber einige Fälle, die ich machen muss wie ich Antworte.
Aber Sie aktualisieren die ganze Tafel, wenn es keine Notwendigkeit gibt, es zu tun... Nur die Aktualisierung der target-Befehl-Taste sollte funktionieren.
Danke @RongNK, problem ist, meine Nachlässigkeit.
InformationsquelleAutor Rong Nguyen