【问题标题】:Primefaces Inline DataTable Delete functionalityPrimefaces 内联数据表删除功能
【发布时间】:2011-09-19 07:29:38
【问题描述】:

我正在使用 primefaces 内联编辑数据表。它由 primefaces RowEditor 和一个命令按钮组成来删除记录。我的问题是当我从数据库中删除任何记录时,该行已成功删除并且删除的记录显示何时我单击编辑按钮以编辑下一条记录。此编辑问题继续出现在所有记录中。当我们单击编辑按钮时,它显示 h:outputText 中的当前值和 h:inputText 中的旧值。 有人可以帮我吗? 谢谢你们。

【问题讨论】:

    标签: datatable jsf-2 primefaces


    【解决方案1】:

    <p:dataTable> 组件上记录了很多 Primefaces 错误,所以我不打算一一搜索。

    但我确实知道,从 Primefaces 2.2.1 开始存在一个未解决的错误,指出 <p:dataTable> 的一行中的组件将无法正确更新(刷新)数据表中的适当值。这个问题可能在 Primefaces 3.0 中得到修复。有兴趣可以搜索已知bughere

    幸运的是,我已经找到了解决方法。您需要从<p:dataTable> OUTSIDE 的组件执行异步操作,并确保该组件在其update 属性中设置dataTable 的ID。

    <h:form id="form1">
      <p:commandButton widgetVar="updateButton" update="form1:table1" ... />
      <p:dataTable id="table1" ...>
        <p:column ...>
          <p:commandButton id="deleteButton" action="#{managedBean.doDelete}" oncomplete="javascriptFunction();" ... />
        </p:column>
      </p:dataTable>
    </h:form>
    

    在 javascript 中:

    function javascriptFunction() {
      updateButton.jq.click();
    }
    

    【讨论】:

    • 非常有用的答案,如果有人想隐藏该按钮并拥有该功能,只需添加按钮 style="visibility:hidden"HTH
    • @HTH 是的,但是 visibility:hidden 并非在所有浏览器上都能正常工作。隐藏按钮的更好选择是display: none;
    猜你喜欢
    • 2013-04-15
    • 1970-01-01
    • 2017-05-24
    • 1970-01-01
    • 2013-09-05
    • 1970-01-01
    • 2013-02-15
    • 2018-01-12
    • 2012-12-23
    相关资源
    最近更新 更多