[ http://issues.apache.org/jira/browse/MYFACES-1010?page=comments#action_12362252 ]
Mathias Broekelmann commented on MYFACES-1010: ---------------------------------------------- I think we should only call super.setRowIndex(..) if not myfaces impl is used. > Extended Data Table: Action Event delivered more than one time > -------------------------------------------------------------- > > Key: MYFACES-1010 > URL: http://issues.apache.org/jira/browse/MYFACES-1010 > Project: MyFaces > Type: Bug > Components: Tomahawk (RI Compatability) > Versions: 1.1.1 > Environment: Apache Tomcat 5.5.12 or OC4j 10.1.3 DP4, Win Xp, Sun RI 1.1.01 > , JDK 1.5 > Reporter: Claudio Tasso > > Hi, > I'm trying using Tomahawk t:dataTable and it seems to me that its behaviour > is very different from the standard JSF h:dataTable. > Consider a column which contains a command button and a table with two rows. > When the user clicks on the button of the first row, two action events are > generated! > For example, look at this very simple code: > <f:view> > <h:form> > <h:dataTable value="#{testBean.persons}" var="item" > binding="#{testBean.uiData}"> > <h:column> > <h:commandButton value="Test" > action="#{testBean.test}"></h:commandButton> > </h:column> > <h:column> > <h:outputText value="#{item.name}"></h:outputText> > </h:column> > <h:column> > <h:outputText value="#{item.surname}"></h:outputText> > </h:column> > </h:dataTable> > <t:dataTable value="#{testBean.persons}" var="item" > binding="#{testBean.htmlDataTable}" preserveDataModel="false"> > <t:column> > <h:commandButton value="Test" > action="#{testBean.test2}"></h:commandButton> > </t:column> > <t:column> > <h:outputText value="#{item.name}"></h:outputText> > </t:column> > <t:column> > <h:outputText value="#{item.surname}"></h:outputText> > </t:column> > </t:dataTable> > </h:form> > </f:view> > When the user clicks the "Test" button of the h:dataTable, the > "testBean.test" method is executed just one time. > But when the user clicks the "Test" button of the t:dataTable the > "testBean.test2" method is executed twice ( or three times if the table has 3 > rows, and so on...). > I suppose that the problem is that the elements of t:dataTable which > belongs to differnt rows have the same ID, and during the processDecode phase > the same event is broadcasted more than one time. > In fact, this is the html code which is generated by Tomahawk extended > datatable: > <table> > <tbody id="_id0:_id8:tbody_element"> > <tr> > <td><input type="submit" name="_id0:_id8:_id10" value="Test" /></td> > <td>John</td> > <td>Smith</td> > </tr> > <tr><td><input type="submit" name="_id0:_id8:_id10" value="Test" /></td> > <td>Mark</td> > <td>Greene</td> > </tr></tbody> > </table> > and this is the html code which is generated by RI h:dataTable: > <table> > <tbody> > <tr> > <td><input type="submit" name="_id0:_id1:0:_id3" value="Test" /></td> > <td>John</td> > <td>Smith</td> > </tr> > <tr> > <td><input type="submit" name="_id0:_id1:1:_id3" value="Test" /></td> > <td>Mark</td> > <td>Greene</td> > </tr> > </tbody> > </table> -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira