2011-01-14 5 views
0

Ist es möglich, nur eine dataTable anstelle des gesamten Formulars einzureichen und dann nach dem Senden ein Popup-Fenster zu öffnen?JSF DataTable und OpenPopup Fenster nach? Ist das möglich?

Meine dataTable enthält Textfelder und das Popup-Fenster ist tatsächlich abhängig von den Daten/Werten in diesen Textfeldern. Da der Benutzer die Werte der Textfelder ändern kann, muss ich die neuesten Werte aus den Datentabellen abrufen, bevor das Popup geöffnet wird. Das Popup wird über eine Schaltfläche in jeder Zeile der Datentabelle geöffnet.

Ich verwende JSF2. Vielen Dank.

Antwort

1

Wenn Sie die Klickaktion aufrufen, übergeben Sie die ID des Textfelds in dieser Zeile als Parameter und suchen Sie dann diese Komponente in der Baumstruktur und erhalten Sie ihren Wert. Sie können diesen Wert im Popup-Fenster verwenden.

popup.xhtml:

<h:outputText value="#{backingBean.popupText}" /> 

in der Steuerung:

public void myActionListener(ActionEvent e){ 

..........  
String textAreaID = FacesContext.getCurrentInstance().getExternalContext().getRequestParameterMap().get(TEXTAREA_ID); 

HtmlInputTextarea textArea = (HtmlInputTextarea)FinderUtil.findComponentInRoot(textAreaID); 
String text = (String) textArea.getValue(); 

//this is the backing bean used in the popup window  
backingBean.setPopupText(text); 

............... 
} 
+0

Sie ok danke sehr. hat deinen Code getestet und scheint zu funktionieren. Ich habe nur diese verwendet: FacesContext.getCurrentInstance(). getExternalContext(). getRequestParameterMap(). get (TEXTAREA_ID); Linie und habe die Werte, nach denen ich gesucht habe. Vielen Dank!!! – raimun

Verwandte Themen