也许有人可以帮助我?
我有一个 ace:datatable,其中一列在内联编辑模式下使用“selectonemenu”。
<ace:column id="bundesland" headerText="Bundesland">
<ace:cellEditor>
<f:facet name="output">
<h:outputText id="bundeslandCell1" value="Baden-Württemberg" rendered="#{current.bundesland == 1}"/>
<h:outputText id="bundeslandCell2" value="Bayern" rendered="#{current.bundesland == 2}"/>
<h:outputText id="bundeslandCell3" value="Hamburg" rendered="#{current.bundesland == 3}"/>
<h:outputText id="bundeslandCell4" value="Nordrhein-Westfalen" rendered="#{current.bundesland == 4}"/>
<h:outputText id="bundeslandCell5" value="Sachsen" rendered="#{current.bundesland == 5}"/>
</f:facet>
<f:facet name="input">
<h:selectOneMenu id="bundeslandInput" value="#{current.bundesland}">
<f:selectItem itemLabel="Baden-Württemberg" itemValue="1" />
<f:selectItem itemLabel="Bayern" itemValue="2" />
<f:selectItem itemLabel="Hamburg" itemValue="3" />
<f:selectItem itemLabel="Nordrhein-Westfalen" itemValue="4" />
<f:selectItem itemLabel="Sachsen" itemValue="5" />
</h:selectOneMenu>
</f:facet>
</ace:cellEditor>
</ace:column>
数据表被分配给一个bean的列表,它引用其他bean......
问题是“bundesland”字段丢失数据,如果我提交数据表的形式。
例如:
- 使用动作监听器在数据表中添加新行
- 内联编辑非持久性新行
- 执行保存
一切都很好!
现在我想插入一个新行。我再次执行相同的步骤。下一次,执行“保存”,单击命令按钮清除整个数据表中的“bundesland”列(持久)。
问题不在于命令按钮背后的动作。列将被清除,如果 CommandButton 没有 actionListener..
至今...
为什么 Icefaces 只在我使用 selectonemenu 时清除每一行中的“bundesland”列?
在“内联编辑”模式下使用仍然没有问题。
感谢帮助!