简体   繁体   English

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

[英]update cell from primefaces datatable after action invoked

I'd like to update a single column from my primefaces datatable after clicking on a button in that row. 单击该行中的按钮后,我想更新我的primefaces数据表中的一列。

My jsf page: 我的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>

My visitBean: 我的visitBean:

@ManagedBean
@ViewScoped
public class VisitBean implements Serializable {

    ...

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

The visitService changes the clearance from OK to NOK but my datatables column isn't changed. visitService将许可从OK更改为NOK,但我的datatables列未更改。 Any ideas? 有任何想法吗?

Primefaces 5.2 Primefaces 5.2

I've looked at How update just specific cell in primefaces dataTable but this doesn't seem to solve it. 我已经看过如何仅更新primefaces dataTable中的特定单元格,但这似乎无法解决。

I've fixed it by not updating the column but updating an element in that column: 我已通过不更新列而是更新该列中的元素来解决此问题:

<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>

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM