Значение по умолчанию selectOneMenu не работает в редакторе строк таблицы

У меня есть тег p:selectOneMenu в теге p:cellEditor таблицы с 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 — это перечисление пунктов меню, а новости — это переменная, определенная в таблице. Я хочу, чтобы, когда я нажимаю кнопку редактирования для редактирования строки, значение по умолчанию для selectOneMenu было фактическим значением интервала новостей, но когда я нажимаю «Изменить», оно не показывает значение по умолчанию, которое я установил для него, и показывает только значения перечисления.

Первое значение перечисления равно 5, и оно показывает 5 для каждой строки в качестве значения по умолчанию для selectOneMenu.


person zsh    schedule 24.05.2015    source источник
comment
этикетка товара не моя проблема! прочитайте вопрос еще раз.   -  person zsh    schedule 26.05.2015
comment
Пожалуйста, покажите mcve (см. Как спросить и информационную страницу jsf)   -  person Kukeltje    schedule 28.05.2015


Ответы (1)


поскольку у вас есть таблица, это означает, что у вас есть разные объекты, каждый из которых имеет свое собственное intervals, поэтому лучше не использовать одно значение #{newsManagementBean.intervals} для всех из них. попробуйте определить intervals как свойство вашего объекта и использовать его таким образом. Я имею в виду news.intervals

person Blue Ocean    schedule 28.05.2015
comment
Откуда вы знаете, что это единственное значение, используемое для всех? Код ограничен, чтобы знать. Лучше сначала попросить разъяснения/улучшения кода - person Kukeltje; 28.05.2015