Details
Description
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="#
<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="#
"></h:commandButton>
</t:column>
<t:column>
<h:outputText value="#
"></h:outputText>
</t:column>
<t:column>
<h:outputText value="#
"></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>
Attachments
Issue Links
- is duplicated by
-
MYFACES-1104 UIColumns generate duplicate ID's
- Closed