简体   繁体   中英

RICH:dataTable - refresh page after delete row

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?

You need to rerender the datatable after action is performed

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

Check this for more info..

you need to reRender table after deleting.

<rich:extendedDataTable 
  value="#{myBdeCheck.dataListBde}"
  var="bdeItem" id="myTable">

and

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

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM