我正在实现一个p:dataTable组件,基于素颜秀
守则是:
<p:dataTable
id="newDataTable"
editable="true"
editMode="cell"
var="item"
value="#{myBean.listNewDataTable}">
<p:ajax event="cellEdit" listener="#{myBean.newCellEditListener}" update="@this"/>
<p:column width="150" >
<p:cellEditor>
<f:facet name="output">
<h:inputText value="#{item.description}" readonly="true"/>
</f:facet>
<f:facet name="input">
<p:selectOneMenu value="#{item.id}" style="width: 90%;">
<f:selectItems value="#{myBean.productsMap.entrySet()}" var="entry" itemValue="#{entry.key}" itemLabel="#{entry.value}" />
</p:selectOneMenu>
</f:facet>
</p:cellEditor>
</p:column>
-- More Data --
</p:dataTable>支持bean方法:
public void newCellEditListener(CellEditEvent event){
... Some work here ...
}更改可编辑单元格上的值时,p:cellEditor将按预期工作。
问题是:
当可编辑单元格上的值保持不变时,p:cellEditor将显示item.id,而它实际上应该显示item.description。
我漏掉了什么明显的东西吗?我需要额外的配置吗?
我一直在谷歌搜索一个提示或答案,但没有成功。
更新
以下代码也存在同样的问题:
<p:column headerText="Money" width="150" >
<p:cellEditor >
<f:facet name="output">
<h:inputText value="#{actual.money}" readonly="true">
<f:convertNumber type="currency" />
</h:inputText>
</f:facet>
<f:facet name="input">
<h:inputText value="#{actual.money}">
</h:inputText>
</f:facet>
</p:cellEditor>
</p:column>支持bean上的值对于输入和输出是相同的,彼此之间的区别应该是“货币”格式。
更新
作为解决办法,我使用了"p:commandButton“来更新Datatable。
<p:commandButton icon="ui-icon-refresh" update="newDataTable" value="Update" />该应用程序正在运行:
谢谢你的帮助。致以亲切的问候。
发布于 2013-07-24 10:10:59
输出和输入的值应该是相同的。试着解决这个问题。
发布于 2013-09-24 16:40:31
在Primefaces发行网站上找到报告并修复的问题:http://code.google.com/p/primefaces/issues/detail?id=6116
我下载了4.0.RC1,我认为这个问题已经按照报告解决了,但是4.0和3.5之间有一些重大差异,所以我将等待3.5.15发布。
https://stackoverflow.com/questions/17824327
复制相似问题