我在一个表单中有两个可编辑的素数数据表。
这是第一个数据表中的编辑和取消事件处理程序。
<p:ajax event="rowEdit" listener="#{myBean.onEdit1}" update=":myForm:messages" />
<p:ajax event="rowEditCancel" listener="#{myBean.onCancel1}" update=":myForm:messages" />
这是第二个数据表中的编辑和取消事件处理程序。
<p:ajax event="rowEdit" listener="#{myBean.onEdit2}" update=":myForm:messages" />
<p:ajax event="rowEditCancel" listener="#{myBean.onCancel2}" update=":myForm:messages" />
但是这些事件处理程序没有按预期工作。即使我编辑第一个表行,它也会调用第二个表的事件处理程序。
你知道这其中的原因吗?
我对自定义事件名称一无所知。但我认为这是因为两个表的事件名称相同。您已将rowEdit
事件替换为第二个表。与其他语言一样,只有您的最新修改才算在内。你知道有<p:inplace>
吗?我建议您将其用于可编辑的数据。
<h:outputText value="Ajax Inplace Editor: " />
<p:inplace id="ajaxInplace" editor="true">
<p:inputText value="#{inplaceBean.text}"
required="true" label="text"/>
</p:inplace>