我想在 onclick 上调用 backing bean 中的一个函数。
<p:rowEditor />
因此,我使用了事件 roweditinit 但我无法使用 id categoriePanel 更新组件:
我已经使用 firebug 检查了响应,但没有找到我的组件 categoriePanel :
这是完整的代码:
<p:outputPanel id="achatsTable">
<p:dataTable var="achat" id="achatsT" value="#{demandeachatBean.listeAchats}"
emptyMessage="Pas d'objets d'achats pour cette demande"
editable="true">
<p:ajax event="rowEdit" listener="#{demandeachatBean.onEdit}" />
<p:ajax event="rowEditCancel" listener="#{demandeachatBean.onCancel}" />
<p:ajax event="rowEditInit" listener="# {demandeachatBean.remplirCategories(achat.categorie.famille.famId)}"
process="@this" update="categoriePanel" />
<p:column headerText="Type objet d'achats">
<p:cellEditor>
<f:facet name="output">
<h:outputText value="#{achat.categorie.famille.famDesignation}" />
</f:facet>
<f:facet name="input">
<p:selectOneMenu id="famille" value="#{achat.categorie.famille.famId}" >
<f:selectItem itemLabel="Select Famille" itemValue="" />
<f:selectItems value="#{demandeachatBean.familles}" />
<p:ajax event="change" update="categoriePanel" listener="#{demandeachatBean.categorieChangeEdit(achat.categorie.famille.famId)}" />
</p:selectOneMenu>
</f:facet>
</p:cellEditor>
</p:column>
<p:column headerText="Objet d'achats">
<p:cellEditor>
<f:facet name="output">
<h:outputText value="#{achat.categorie.catDesignation}" />
</f:facet>
<f:facet name="input">
<p:outputPanel id="categoriePanel">
<p:selectOneMenu value="#{achat.categorie.catId}">
<f:selectItem itemLabel="Select Catégorie" itemValue="" />
<f:selectItems value="#{demandeachatBean.categories}" />
</p:selectOneMenu>
</p:outputPanel>
</f:facet>
</p:cellEditor>
</p:column>
<p:column headerText="Quantité">
<p:cellEditor>
<f:facet name="output">
<h:outputText value="#{achat.quantite}" />
</f:facet>
<f:facet name="input">
<p:inputText value="#{achat.quantite}" />
</f:facet>
</p:cellEditor>
</p:column>
<p:column >
<p:rowEditor/>
</p:column>
</p:dataTable>
</p:outputPanel>