Reputation: 3479
I have rich datatable with delete button:
When I delete the row, row is really deleted in database, but still remains in dataTable. It dissapear after reload page or reload dataTable.
part of dataTable code:
<rich:extendedDataTable
value="#{myBdeCheck.dataListBde}"
var="bdeItem">
<rich:column width="60px">
<f:facet name="header">
<h:outputText value="Kusy" />
</f:facet>
<h:outputText value="#{bdeItem.prodPcs}" rendered="#{!myBdeCheck.editMode}"/>
<h:inputText value="#{bdeItem.prodPcs}" rendered="#{myBdeCheck.editMode}"/>
</rich:column>
<rich:column width="50px">
<h:commandLink action="#{myBdeCheck.deleteBde}">
<h:graphicImage value="/images/icons/delete.png" alt="edit"/>
<a4j:param value="#{it.index}" assignTo="#{myBdeCheck.currentIndexDetail}" />
<f:setPropertyActionListener target="#{myBdeCheck.BDEItem}" value="#{bdeItem}" />
</h:commandLink>
</rich:column>
</rich:extendedDataTable>
and part of myBdeCheck bean:
private int currentIndexDetail; // with getters, setters
private BDE BDEItem;
public void deleteBde()
{
try
{
DaoCrud.delete(BDEItem, 'R');
}
catch{.....}
}
How can I make dataTable to refresh automatically after click the delete button?
Upvotes: 1
Views: 5511
Reputation: 240900
you need to reRender
table after deleting.
<rich:extendedDataTable
value="#{myBdeCheck.dataListBde}"
var="bdeItem" id="myTable">
and
<h:commandLink action="#{myBdeCheck.deleteBde}" reRender="myTable">
Upvotes: 1