在单元格外部单击时,将p:cellEditor > p:inputTextarea
内的文本保存为onblur
。
但是,当点击来自p:cellEditor > p:inputTextarea
的链接(例如commandButton,commandLink)时,它不会事先执行p:ajax
cellEdit
事件。它改为执行点击的链接。
这是不正确的,因为它适用于没有p:inputTextarea
的{{1}}。我意识到这可能是一个Primefaces错误。知道如何解决这个问题吗?
p:cellEditor
我将错误提交给Primefaces。但是有没有通过javascript / jQuery解决这个问题?
答案 0 :(得分:1)
在Primefaces错误报告没有成功后,我最终将监听器直接挂接到所有p:cellEditor
个实例。它似乎有效,我不再失去投入。
<p:cellEditor>
<f:facet name="output">
<h:outputText value="#{model.text}" />
</f:facet>
<f:facet name="input">
<p:inputTextarea value="#{model.text}">
<!-- this is the relevant line -->
<p:ajax listener="#{bean.onCellEdit}" global="false" update="@this" />
<!-- end relevant line -->
</p:inputTextarea>
</f:facet>
</p:cellEditor>
答案 1 :(得分:0)
我做得很相似,但没有<p:cellEditor>
。在那种对我不起作用的模式中。
但如果你只使用
<p:column>
<p:selectBooleanCheckbox value="#{listElement.field1}">
<p:ajax listener="#{bean.saveAction}" global="false" update="@this"/>
</p:selectBooleanCheckbox>
</p:column>
<p:column>
<p:inputTextarea value="#{listElement.field2}">
<p:ajax listener="#{bean.saveAction}" global="false" update="@this"/>
</p:inputTextarea>
</p:column>
</p:dataTable>