2011-05-18 123 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