2016-05-07 3 views
0

У меня есть редактируемый datatable, содержащий столбец с булевым типом. При редактировании этого столбца selectOneMenu используется для выбора значений «true», «false» или «null». Когда я вхожу в режим редактирования, выбор по умолчанию - true, если значение равно null.selectOneMenu default selection null

Как можно решить эту проблему? Другой вопрос - хороший подход к использованию компонента Enity (результат запроса базы данных), или мне нужно создать управляемый компонент?

Xhtml:

<p:column headerText="Active"> 
     <p:cellEditor> 
      <f:facet name="output"> 
       <h:outputText value="#{member.active}" /> 
      </f:facet> 
      <f:facet name="input"> 
       <h:selectOneMenu value="#{member.active}" style="width:100%"> 
        <f:selectItems value="#{memberManagementController.activeLabels}" /> 
       </h:selectOneMenu> 
      </f:facet> 
     </p:cellEditor> 
    </p:column> 

Entity Bean:

@Entity 
@NamedQueries({ 
    @NamedQuery(... 
}) 
@Table(name="Member") 
public class Member implements Serializable { 
    private static final long serialVersionUID = 1L; 

    @Id 
    @GeneratedValue(strategy=GenerationType.IDENTITY) 
    private int id; 

    private Boolean active; 

    public Boolean getActive() { 
     return this.active; 
    } 

    public void setActive(Boolean active) { 
     this.active = active; 
    } 
    ... 

ответ

-1

Изменить код этого

<h:selectOneMenu value="#{member.active}" style="width:100%"> 
    <f:selectItem noSelectionOption="true"/> 
    <f:selectItems value="#{memberManagementController.activeLabels}" /> 
</h:selectOneMenu> 

Что касается ваших бобов, то preferrable использовать управляемые бобы на ваш взгляд контроллеры

+0

Неправильное использование. Объяснение на 'noSelectionOption' можно найти здесь: http://stackoverflow.com/q/11360030 – BalusC

+0

ОК спасибо за объяснение – tfosra

Смежные вопросы