I am using tomahawk dataTable and dataScroller tags to display results retrieved from database. For each row, I would like to have a button that will edit a value associated with that particular row. But the JSF gave all rows on the page same id, when I press one button, every row was fired off. Any suggestion is highly appreciated.

Here is my code:

<t:dataTable id="data" styleClass="TabForegroundColor" headerClass="standardTable_Header" footerClass="standardTable_Header"
rowClasses="AltRows1, AltRows2"
columnClasses="standardTable_Column,standardTable_ColumnCentered,standardTable_Column"
var="bl" value="#{ctReportdatahandler.ctReportModel}"
rows="#{ctReportdatahandler.noOfRows}"
rowIndexVar="index"
forceId="true" forceIdIndex="true"
sortColumn="#{ctReportdatahandler.sort}"
sortAscending="#{ctReportdatahandler.ascending}" preserveSort="true">
<t:column>
<f:facet name="header">
<h:outputText value="" />
</f:facet>
<h:commandButton value="h" actionListener="{ctReportdatahandler.historyCtBarcodes}" action="" styleClass="Button" /> </t:column>

Incorrect source:

<tr class="AltRows1"><td class="standardTable_Column"><input id="_id26:data:_id29" name="_id26:data:_id29" type="submit" value="h" class="Button" /></td></tr>
<tr class="AltRows1"><td class="standardTable_Column"><input id="_id26:data:_id29" name="_id26:data:_id29" type="submit" value="h" class="Button" /></td></tr>


Both buttons are _id26:data:_id29, I expect the first row _id26:data0:_id29 and 2nd row _id26:data1:_id29 so if I press button for row 0, row1 button won't get fired off.


Michael H. Chang
2-1148

Reply via email to