![](/img/trans.png)
[英]<p:ajax event=“rowEditCancel”> on my primeface's datatable don't update datatable
[英]p:selectOneMenu with p:ajax in p:dataTable not reset after p:ajax rowEditCancel event
我有一个关于使用行编辑模式在p:dataTable中重置带有p:ajax元素的f:selectOneMenu的问题。 当我取消行编辑时,除包含p:ajax元素的f:selectOneMenu之外,每个字段(包括p:ajax的其他f:selectOneMenu元素)中的所有更改都将正确重置。
如果我删除了相关的p:ajax元素,则f:selectOneMenu也将正确重置。
有什么建议可以解决我的问题?
这是有关的xhtml代码段:
<h:form id="tradingPartnersForm">
<p:dataTable id="tradingPartnerRow" styleClass="partnersTable" var="partnerText"
value="#{tradingPartners.tradingPartnerList}" editable="true" >
<p:ajax event="cellEdit" listener="#{tradingPartners.onRowEdit}" update=":messages" />
<p:ajax event="rowEditCancel" listener="#{tradingPartners.onRowCancel}" update=":messages" />
... // other fields
<p:column headerText="#{someLabel}">
<p:cellEditor>
<f:facet name="output">
<h:outputText value="#{partnerText.rolle}" />
</f:facet>
<f:facet name="input">
<p:selectOneMenu value="#{partnerText.rolle}">
<f:selectItems value="#{tradingPartners.partnerKindsMap.entrySet()}" var="partnerKindsEntry" itemValue="#{partnerKindsEntry.key}" itemLabel="#{partnerKindsEntry.value}" />
<p:ajax event="change" execute="@this" update="l1group l2group" />
</p:selectOneMenu>
</f:facet>
</p:cellEditor>
</p:column>
... // other fields
<p:column style="width:32px">
<p:rowEditor />
</p:column>
</p:dataTable>
</h:form>
好吧,它表明素数行编辑取消事件工作正常。 这个问题是自制的,并且是由ajax调用引起的:
<p:ajax event="change" execute="@this" update="l1group l2group" />
在这里,在选择一个新值之后,通过ajax调用就可以在select中使用bean的属性。 因此,从技术上讲,如果取消编辑后重置了选择,它将显示新选择的值。
似乎可以通过插入存储bean初始属性值的隐藏文件来更改此行为:
<p:column headerText="#{vtdb['acquirepartners.column5']}">
<h:inputHidden value="#{partnerText.rolle}" id="partnerTextRoleBackup" />
<p:cellEditor>
<f:facet name="output"><h:outputText value="#{partnerText.rolle}" /></f:facet>
<f:facet name="input">
<p:selectOneMenu value="#{partnerText.rolle}">
<f:selectItems value="#{tradingPartners.partnerKindsMap.entrySet()}" var="partnerKindsEntry" itemValue="#{partnerKindsEntry.key}" itemLabel="#{partnerKindsEntry.value}" />
<p:ajax event="change" execute="@this" update="l1group l2group" />
</p:selectOneMenu>
</f:facet>
</p:cellEditor>
</p:column>
但是目前,我对此行为没有明显的解释!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.