1

也许有人可以帮助我?

我有一个 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”列?

在“内联编辑”模式下使用仍然没有问题。

感谢帮助!

4

0 回答 0