S
~Steve~
Gast
Hallo,
zunächst mal der relevante Code, dann zu meinem Problem
Es geht darum, dass ich eine <t:dataTable> habe, die ich Datenobjekten fülle. Nun soll aus dieser Tabelle genau 1 Datenobjekt ausgewählt werden. Hierzu wird in jedem radiobutton die id des entsrpechenden objekts gespeichert. durch das <t:selectoneradio> in zusammenhang mit den attributen funktioniert das auch ganz gut. nun habe ich das problem, dass ich es nicht hinbekomme, bei einem submit richtig an den selektierten datensatz ranzukommen.
Zum einen wird die Methode im Link "updateData" gar nicht aufgerufen zum anderen gibt es Problem mit diesem valuechanged Event. Dieses wird nur aufgerufen wenn kein Radiobutton ausgewählt ist und dann "Speichern"
geklickt wird (in der valueChanged Methode werden einfach alle Objekte in der Tabelle ausgegeben).
Ich kriegs einfach nicht richtig hin, habe es auch schon nach diesem Schema hier probiert
http://forum.java.sun.com/thread.jspa?threadID=789149&messageID=4487022
Wie mache ich das richtig, dass das selektierte Objekt nach dem Click auf Speichern verfügbar ist und in der Klasse CustomerAction dann verarbeitet werden kann ?
Ein einfache Hilfe in der Form eines Konsolenprints (Speichern aufgerufen: auswähltes Objekt bzw Id: .....)
würde mir schon helfen
Danke schonmal!
zunächst mal der relevante Code, dann zu meinem Problem
Code:
jsp Seite
<h:form>
<t:dataTable
id="customerdata"
value="#{CustomerBean.data}"
var="data"
binding="#{CustomerAction.table}"
>
<t:column>
<f:facet name="header"><h:outputText value="Bezeichung"/></f:facet>
<h:outputText value="#{data.description}"/>
</t:column>
<t:column>
<f:facet name="header"><h:outputText value="Anzahl"/></f:facet>
<h:outputText value="#{data.anz}"/>
</t:column>
<t:column>
<f:facet name="header"><h:outputText value="Auswählen"/></f:facet>
<t:selectOneRadio
id="rowSelected"
value="#{data.objId}"
forceId="true"
forceIdIndex="false"
valueChangeListener="#{CustomerAction.valueChanged}"
>
<f:selectItem itemValue="" />
</t:selectOneRadio>
</t:column>
</t:dataTable>
<h:commandLink id="updateData" action="#{CustomerAction.updateData}" value="Speichern"/>
</h:form>
/~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~/
Java Klassen:
Auszug CustomerAction
//action Methode
public void updateData() {
//Daten updaten beim Click auf Speichern, Funktion wird gar nicht aufgerufen :-(
System.out.println("action aufgerufen");
}
//valuechangelistener
public void valueChanged(ValueChangeEvent e) {
//Beim Click auf Speichern soll über den selektierten Radiobutton das aktuell ausgewählte Objekt ermittelt werden
System.out.println("ausgewähltes Objekt: "+e.getNewValue().toString() );
}
/~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~/
Es geht darum, dass ich eine <t:dataTable> habe, die ich Datenobjekten fülle. Nun soll aus dieser Tabelle genau 1 Datenobjekt ausgewählt werden. Hierzu wird in jedem radiobutton die id des entsrpechenden objekts gespeichert. durch das <t:selectoneradio> in zusammenhang mit den attributen funktioniert das auch ganz gut. nun habe ich das problem, dass ich es nicht hinbekomme, bei einem submit richtig an den selektierten datensatz ranzukommen.
Zum einen wird die Methode im Link "updateData" gar nicht aufgerufen zum anderen gibt es Problem mit diesem valuechanged Event. Dieses wird nur aufgerufen wenn kein Radiobutton ausgewählt ist und dann "Speichern"
geklickt wird (in der valueChanged Methode werden einfach alle Objekte in der Tabelle ausgegeben).
Ich kriegs einfach nicht richtig hin, habe es auch schon nach diesem Schema hier probiert
http://forum.java.sun.com/thread.jspa?threadID=789149&messageID=4487022
Wie mache ich das richtig, dass das selektierte Objekt nach dem Click auf Speichern verfügbar ist und in der Klasse CustomerAction dann verarbeitet werden kann ?
Ein einfache Hilfe in der Form eines Konsolenprints (Speichern aufgerufen: auswähltes Objekt bzw Id: .....)
würde mir schon helfen
Danke schonmal!