0
我正在使用带有roweditor的数据表,我的代码或多或少与primefaces网站上的展示示例上的代码相同,但由于某些原因,这些值未更新。Primefaces RowEditor不更改数据表中的值
另外,当我点击铅笔进行编辑时,编辑单元格中没有显示当前值。
这里是我的代码:
XHTML:
<h:form id="updateform">
<p:dataTable id="updatetable" value="#{EditingBean.row}" var="column"
editable="true"
style="width: 780px; overflow-x: auto; white-space: normal;">
<f:facet name="header">TEST</f:facet>
<p:column rendered="#{column.display}" style="white-space: normal;">
<h:outputText value="#{column.alias}" />
</p:column>
<p:column rendered="#{column.display}" style="white-space: normal;">
<p:cellEditor>
<f:facet name="output">
<h:outputText value="#{column.value}" />
</f:facet>
<f:facet name="input">
<p:inputText value="{#column.value}" />
</f:facet>
</p:cellEditor>
</p:column>
<p:column rendered="#{column.display}" style="white-space: normal;">
<p:rowEditor rendered="#{column.modify}" />
</p:column>
</p:dataTable>
</h:form>
EditingBean:
@ManagedBean(name = "EditingBean")
@ViewScoped
public class EditingBean implements Serializable {
private static final long serialVersionUID = -772702647887310138L;
private List<Result> row;
public List<Result> getRow() {
return row;
}
public void setRow(List<Result> row) {
this.row = row;
}
}
结果:
public class Result implements Serializable {
private static final long serialVersionUID = 1L;
private String alias;
private String name;
private String value;
private String modify;
private String display;
// getters + setters
'{#column.value}'应该是'#{column.value}'。这只是一个错字或者你的实际代码是否包含它? – user1983983
我的实际代码包含它,谢谢指出。它正在工作。我不敢相信这是一个愚蠢的错误。我如何设置你的答案被接受? – noisegrrrl