I'd like to update a single column from my primefaces datatable after clicking on a button in that row.
My jsf page:
<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:
@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. Any ideas?
Primefaces 5.2
I've looked at How update just specific cell in primefaces dataTable but this doesn't seem to solve it.
I've fixed it by not updating the column but updating an element in that column: