gaffcz
gaffcz

Reputation: 3479

RICH:dataTable - refresh page after delete row

I have rich datatable with delete button:

enter image description here

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

Answers (2)

Jigar Joshi
Jigar Joshi

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

niksvp
niksvp

Reputation: 5563

You need to rerender the datatable after action is performed

<h:commandLink action="#{myBdeCheck.deleteBde}" reRender="idOfYourDataTable">

Check this for more info..

Upvotes: 2

Related Questions