2016-05-07 21 views
0

私はブール型の列を含む編集可能なデータテーブルを持っています。この列を編集するときは、selectOneMenuを使用して値「true」、「false」または「null」を選択します。編集モードに入ると、値がnullの場合、デフォルト選択がtrueになります。selectOneMenuデフォルト選択null

どのようにこの問題を解決できましたか?もう1つの質問は、Enity bean(データベースクエリの結果)を使用する良いアプローチですか、あるいはManaged Beanを作成する必要がありますか?

て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> 

エンティティ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> 

にあなたのコードを変更

、あなたのビューで管理対象Beanを使用するpreferrableですコントローラー

+0

これは正しくありません。 'noSelectionOption'についての説明は、ここで見つけることができます:http://stackoverflow.com/q/11360030 – BalusC

+0

説明のためにOKありがとう – tfosra

関連する問題