我正在使用Primefaces 5.3,JSF 2.2和Tomcat 8。 在单元格编辑之后,getOldValue和getNewValue返回null。为什么? 提前致谢
XHTML:
<p:dataTable id="dtbl" var="data" value="#{definitionsBean.dataList}" editable="true" editMode="cell">
<p:ajax event="cellEdit" listener="#{definitionsBean.onCellEdit}" update=":frm:dtbl" />
<p:columns value="#{definitionsBean.columns}" var="column"columnIndexVar="colIndex">
<f:facet name="header">
#{column.header}
</f:facet>
<p:cellEditor>
<f:facet name="output">
<p:outputLabel id="modelOutput" value="#{data[column.property]}" />
</f:facet>
<f:facet name="input">
<p:inputText id="modelInput" value="#{data[column.property]}"
style="width:100%" rendered="true" />
</f:facet>
</p:cellEditor>
</p:columns>
</p:dataTable>
豆:
public void onCellEdit(CellEditEvent event){
Object oldValue = event.getOldValue();
Object newValue = event.getNewValue();
}
答案 0 :(得分:0)
对于普通数据表,在p:outputLabel和p:inputText标记中将属性值=“#{data [column.property]}”更改为value =“#{data.property}”。并删除p:columns
检查primefaces链接中的单元格编辑
对于动态数据表