<h:dataTable var="item" value="#{MyBean.items}" binding="#{MyBean.dataTable}" > <h:column> <h:outputText styleClass="output" value="#{item.productName}"/> </h:column> <h:column> <h:commandButton value="remove" action="#{MyBean.remove}" /> </h:column> </h:dataTable>.
public class MyBean { private ArrayList items = new ArrayList(); private HtmlDataTable dataTable; public ArrayList getItems() { return items; } public void setItems(List items) { this.items = new ArrayList(items); } public void remove(){ ItemBean item = (ItemBean) getDataTable().getRowData(); items.remove(item); } public HtmlDataTable getDataTable() { return dataTable; } public void setDataTable(HtmlDataTable dataTable){ this.dataTable = dataTable; } }here, when user clicks the remove button, the related item is removed
from the data table.