2011-05-18 108 views
1

後頁我有刪除按鈕豐富的數據表:RICH:dataTable的 - 刷新刪除行

enter image description here

當我刪除的行,列在數據庫中真正刪除,但仍停留在數據表。它在刷新頁面或重新載入數據表後消失。 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> 

和myBdeCheck bean的一部分:

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

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

我怎樣才能讓dataTable的刷新後自動點擊刪除按鈕?

回答

2

您需要rerender DataTable中的動作進行

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

檢查this更多信息..

+0

謝謝,這聽起來不錯,但它doesn't工作對我來說... – gaffcz 2011-05-18 06:50:00

+0

@gaffcz - 它應該工作,或者嘗試如圖所示RichFaces的展示實現,使用'a4j:jsFunction'和'render'屬性.. – niksvp 2011-05-18 07:03:25

+0

@gaffcz - 同時檢查你的列表'dataListBde'在會話中?如果是的話,你重新加載列表? – niksvp 2011-05-18 07:05:12

1

需要reRender表中刪除後之後。

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

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

它是一樣的,它不工作,我不明白爲什麼.... – gaffcz 2011-05-18 06:50:46