在使用AJAX时,如何更新ap:datatable中的单行?
我不想更新整个数据表,因为它有很多行,这需要一些时间..
我的布局:
<h:form id="visitForm">
<p:dataTable id="visitTable" var="visit" value="#{visitBean.findAllVisits()}">
<p:column headerText="${msgs['email']}"
<h:outputText value="#{visit.contactDetail.email}"/>
</p:column>
<p:column headerText="${msgs['clearance']}" id="clearance">
<p:commandButton value="${msgs['clearance.ok']}" actionListener="#{visitBean.makeClearanceNotOk(visit)}"/>
</p:column>
</p:dataTable>
</h:form>
Run Code Online (Sandbox Code Playgroud)
我尝试了一些像update ="clearance"等的东西,但它似乎没有用.
我正在使用JSF 2.1和Primefaces 5.2
这是一个笨拙的问题!:)
这可能以某种方式成为可能吗?可以<p:dataTable>(无论是延迟加载还是其他方式)更新而不更新其标题(表格中的内容(行)以及页脚应该更新而不更新表格标题)?
更新<p:dataTable>可以由任何UICommand类似的触发<p:commandButton>,<p:commandLink>等等.
像这样的事情可以可视化,当我们编辑/更新使用行<p:cellEditor>与结合<p:rowEditor/>的<p:dataTable>(不知道单细胞编辑).
<p:dataTable id="dataTable" var="row" value="#{bean}" ...>
<p:column headerText="Header 1" sortBy="#{row.property1}" filterBy="#{row.property1}">
....
</p:column>
<p:column>
<!--They may be our own headers-->
<f:facet name="header">
Header 2
...
</f:facet>
....
</p:column>
...
</p:dataTable>
Run Code Online (Sandbox Code Playgroud)