我有一个p:selectOneMenu标签在一个表的p: cellitor标签与roweditor。下面是它的代码:
<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是在table中定义的变量。我想当我点击编辑按钮编辑行时,selectOneMenu的默认值是新闻间隔的实际值,但是当我点击编辑时,它不显示我为它设置的默认值,只显示enum值。
enum的第一个值是5,它显示每一行5作为selectOneMenu的默认值
因为您有一个表,这意味着您有不同的对象,每个对象都有自己的intervals
,所以最好不要为所有对象使用单个值#{newsManagementBean.intervals}
。尝试将intervals
定义为对象的属性并以这种方式使用它。我指的是news.intervals