Hello, I write a program which should show Data in a Table and the user should be able to edit them. The Table has to be generated dynamicaly. For simplicity I create a table with 2 cols und 2 rows (see: getColumnModel() and getTableModel() in SessionBean). When I run the application there appears a problem. The valueChanged - Method is just called when I change the value of one of the two fields in the first column. Why isnt the Method called when I change the value of a field of the second column?
My jsp-File looks as followed: <%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %> <%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %> <%@ taglib uri="http://myfaces.apache.org/tomahawk" prefix="t" %> Vitax Web 1.0 <f:view> <h:form id="taxForm"> <t:dataTable id="taxTable" var="row" value="#{taxTable.tableModel}"> <t:columns value="#{taxTable.columnModel}" var="col"> <f:facet name="header"> <h:outputText value="#{col}" /> </f:facet> <t:inputText id="in" value="#{row[taxTable.columnModel.rowIndex]}" valueChangeListener="#{taxTable.valueChanged}" immediate="true" onchange="submit()"> </t:inputText> </t:columns> </t:dataTable> </h:form> </f:view> Here is the code for the taxTable SessionBean: public class TaxTable { private javax.faces.model.ListDataModel tableModel; private javax.faces.model.ListDataModel columnModel; public SessionBean() { } public void valueChanged(ValueChangeEvent evt) { System.out.println("Old Value: "+evt.getOldValue().toString()); System.out.println("New Value: "+evt.getNewValue().toString()); } public javax.faces.model.ListDataModel getTableModel() { if(tableModel == null) { Object[] o1 = new Object[] {"Zeile 1", new Integer(1)}; Object[] o2 = new Object[] {"", new Integer(2)}; List<Object[]> l = new ArrayList<Object[]>(); l.add(o1); l.add(o2); tableModel = new ListDataModel(l); } return tableModel; } public void setTableModel(javax.faces.model.ListDataModel tableModel) { this.tableModel = tableModel; } public javax.faces.model.ListDataModel getColumnModel() { if(columnModel == null) { String[] o1 = new String[] {"Spalte1", "Spalte2"}; List l = new ArrayList(); l.add(o1[0]); l.add(o1[1]); columnModel = new ListDataModel(l); } return columnModel; } public void setColumnModel(javax.faces.model.ListDataModel columnModel) { this.columnModel = columnModel; } } I'm using myfaces1.1.4 (Tomahawk) and apache Tomcat5.5.20. Please help me. Thx! View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4043905#4043905 Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4043905 _______________________________________________ jboss-user mailing list jboss-user@lists.jboss.org https://lists.jboss.org/mailman/listinfo/jboss-user