我在带有roweditor的表的p:cellEditor标记中有一个p:selectOneMenu标记。 这是它的代码:
<p:column headerText="Update Interval">
<p:cellEditor>
<f:facet name="output"><h:outputText value="#{news.intervalLabel}"/></f:facet>
<f:facet name="input">
<p:selectOneMenu value="#{newsManagementBean.intervals}" valueChangeListener="#{newsManagementBean.changedIntervals}" style="width: 200px;">
<f:selectItems value="#{newsManagementBean.updateIntervals}" var="interval" itemLabel="#{interval.value}"
itemValue="#{interval.key}"/>
</p:selectOneMenu>
</f:facet>
</p:cellEditor>
</p:column>
变量interval是菜单项的枚举,news是表中定义的变量。我想在单击编辑按钮进行编辑行时,selectOneMenu的默认值是新闻间隔的实际值,但是当我单击编辑时,它不会显示我为其设置的默认值并仅显示枚举值。
枚举的第一个值是5,并且每行显示5作为selectOneMenu的默认值。
答案 0 :(得分:1)
因为你有一个表,这意味着你有不同的对象,每个对象都有自己的intervals
所以最好不要对所有对象使用单个值#{newsManagementBean.intervals}
。尝试将intervals
定义为您的对象的属性并以此方式使用它。我的意思是news.intervals