RICH: dataTable - обновить страницу после удаления строки - PullRequest
1 голос
/ 18 мая 2011

У меня есть богатые данные с помощью кнопки удаления:

enter image description here

Когда я удаляю строку, строка действительно удаляется в базе данных, но все еще остается в dataTable.Он исчезает после перезагрузки страницы или перезагрузки dataTable.

часть кода dataTable:

<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>

и часть bean-компонента myBdeCheck:

private int currentIndexDetail; // with getters, setters
private BDE BDEItem;

public void deleteBde()
{
  try 
  { 
    DaoCrud.delete(BDEItem, 'R');
  } 
  catch{.....}
}

Как настроить автоматическое обновление dataTable после нажатия кнопки удаления?

Ответы [ 2 ]

2 голосов
/ 18 мая 2011

Вам необходимо rerender датать после выполнения действия

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

Проверьте это для получения дополнительной информации ..

1 голос
/ 18 мая 2011

вам нужно reRender таблицу после удаления.

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

и

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