![](/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.