【问题标题】:RICH:dataTable - refresh page after delete rowRICH:dataTable - 删除行后刷新页面
【发布时间】:2011-05-18 06:33:57
【问题描述】:

我有丰富的数据表和删除按钮:

当我删除行时,行在数据库中确实被删除,但仍保留在 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>

和 myBdeCheck bean 的一部分:

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

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

如何让dataTable在点击删除按钮后自动刷新?

【问题讨论】:

    标签: java jsf richfaces


    【解决方案1】:

    执行操作后需要rerender数据表

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

    查看this了解更多信息..

    【讨论】:

    • @gaffcz - 它应该可以工作,或者尝试使用a4j:jsFunctionrender 属性实现如richfaces 展示中所示的那样......
    • @gaffcz - 还要检查您的列表dataListBde 是否在会话中?如果是,您是否要重新加载列表?
    【解决方案2】:

    删除后需要reRender表。

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-05-03
      • 2016-11-17
      • 1970-01-01
      • 1970-01-01
      • 2015-08-09
      • 2013-02-25
      • 2020-07-13
      • 1970-01-01
      相关资源
      最近更新 更多