当前位置: 首页 > 知识库问答 >
问题:

调用操作后从primefaces数据表更新单元格

贺飞
2023-03-14

我想在单击该行中的一个按钮后更新primefaces数据表中的一列。

我的jsf页面:

<h:form id="visitForm">
        <p:dataTable id="visitTable" var="visit" value="#{visitBean.findAllVisits()}" rows="2"
                     paginator="true" lazy="true">
            <p:column headerText="#{msgs['clearance']}"
                      sortBy="#{visit.maritimeDeclarationOfHealth.clearance.status}" id="clearance">
                <p:commandButton value="#{msgs['clearance.ok']}"
                                 actionListener="#{visitBean.changeClearance(visit)}" global="false" update="clearance"/>
            </p:column>
    </p:dataTable/>
</h:form>

我的访客Bean:

@ManagedBean
@ViewScoped
public class VisitBean implements Serializable {

    ...

    public void changeClearance(Visit visit) {
        visit.changeClearance();
    }
}

visitService将间隙从OK更改为NOK,但我的datatables列没有更改。有什么想法吗?

表面5.2

我已经研究了如何只更新primefaces数据表中的特定单元格,但这似乎并没有解决它。

共有1个答案

杨和蔼
2023-03-14

我通过不更新列而是更新该列中的一个元素来修复它:

<p:column headerText="#{msgs['clearance']}">
  <p:outputPanel id="clearance">
     <p:commandButton value="#{msgs['clearance.ok']}" actionListener="#{visitBean.changeClearance(visit)}" 
      global="false" update="clearance"/>
  </p:outputPanel>
</p:column>
 类似资料:
  • 我有一个带有单元格编辑功能的数据表,我想通过应用一个不同样式的类来更新数据表以显示修改后的记录。 以下是我的问题: 如果在激发onCellEdit事件时未更新数据表,则记录已正确更新,但无法看到已修改行的applyed style类。 如果在onCellEdit事件激发时更新数据表,并使用return键更新值,则一切正常,并且可以看到修改行的应用样式类。 如果我在单元格编辑事件触发时更新数据表,并

  • 我的xhtml中有下一个结构 方法searchAnimals()可以,它返回动物项,但dataTable不刷新,但在java代码(managedBean)中,ArrayList包含这些项。我能做什么?谢谢编辑:我正确地使用了de h:和p:后缀(我想是的),代码是完整代码的一部分,但它是无法正确工作的片段。在第一个面板中,我有一个过滤器控件(按类别、按日期等),命令按钮的功能是调用一个在数据库上执

  • 我有一个使用rowedit的p:datatable,可以正常工作,但是当您删除一个条目时,datatable没有更新。 xhtml

  • 我有一个datatable,其中包含删除行的按钮,我想在之后刷新该表。刷新工作很好,除了一个案例,当我删除最后一个项目。我相信这是因为属性,它在ajax更新时表现不佳。它都在一个复合组件中,datatable是有条件呈现的,看起来都是这样的: 除了我从列表中移除最后一个项目(并希望表消失)的情况外,这工作得很好。通过ajax显示表不是问题,因为我添加的项目也没有提交,并且表在添加第一个项目后正确显

  • 这是豆子 这里的问题是连//////////////////都没有显示,这意味着HTML代码中存在问题,阻止了onCellEdit函数的执行!!!

  • 在我的datatable中,根据列“Délai Action”,当没有日期时,其他列必须是红色的。最后一列有一个黄色/橙色/红色的球图标,取决于日期。那么如何更新行,然后显示红色或不红色的列和对应的色球呢? 我尝试了不同的方法,比如: 也可以在我的enregistrer()方法中使用: 提前致谢 Primefaces 6.0/JSF 2.3