【发布时间】:2015-02-13 11:31:31
【问题描述】:
我想使用 PF 4 单元格编辑器并坚持showcase 中的示例。但我得到以下行为:
我可以编辑我的单元格,bean 内的onCellEdit() 被调用,但该事件将包含event.getNewValue() 的旧值。听网络流量,我能够捕捉到这个:
javax.faces.partial.ajax=true&
javax.faces.source=pvChangeForm%3Apvc&
javax.faces.partial.execute=pvChangeForm%3Apvc&
javax.faces.partial.render=pvChangeForm%3Apvc+pvForm&
javax.faces.behavior.event=cellEdit&
javax.faces.partial.event=cellEdit&
pvChangeForm%3Apvc_encodeFeature=true&
pvChangeForm%3Apvc_cellInfo=0%2C1&
pvChangeForm%3Apvc%3A0%3Aj_idt127=pvChangeForm%3Apvc%3A0%3Aj_idt127&
pvChangeForm=pvChangeForm&pvChangeForm%3Apvc%3A0%3Aj_idt130=666&
javax.faces.ViewState=-8810553618561534598%3A1979735468348742605
重要的行是倒数第二行。 666 是我放入单元格的值。如果我再次编辑此单元格,它也会显示。但是离开单元格或者回车,都没有保存。
我的数据表:
<h:form id="pvChangeForm">
<p:dataTable id="pvc" var="tVar" value="#{paramBean.pvForChange.values}" editable="true" editMode="cell">
<p:ajax event="cellEdit" listener="#{paramBean.onCellEdit}" update=":pvChangeForm:pvc" />
<p:column>
<p:cellEditor>
<f:facet name="output"><h:outputText value="#{tVar}" /></f:facet>
<f:facet name="input"><p:inputText value="#{tVar}" style="width:96%" label="Wert"/></f:facet>
</p:cellEditor>
</p:column>
</p:dataTable>
</h:form>
paramBean.pvForChange.values 是一个List<String>。不知何故,我觉得问题在于这个事实(因为我想直接编辑列表中的字符串)。但据我了解,这应该没有问题。
【问题讨论】:
标签: jsf primefaces tablecelleditor