2011-08-04 7 views
1

この質問をこのフォーラムや他のさまざまなフォーラムで何度も尋ねましたが、それでも自分のコードで実装することはできません。ドロップダウンリストボックスを追加する - 問題初心者

私はdoing this exampleです。リストボックスを追加する必要があります(列MANUFACTUREなど)。 リストボックスを表示したり、Javaクラスの値を入力することができません。

私のJavaコードは次のようになります。

private List<Hotel> listHotel; 


public List<Hotel> ListAllHotels() { 
    return dml.displayAllHotels(); //dml.displayAllHotels() returns a List<Hotel> 
} 

通常、リストボックスを作成し、次のJFSコードを使用して値を設定します。

  <h:selectOneMenu value="#{HotelDataForm.stationedHotel}" id="globalFilter" onchange="carsTable.filter()" > 
       <f:selectItems value="#{HotelDataForm.ListAllHotels}" var="user" itemValue="#{user[1]}" itemDisabled="false" itemLabel="#{user[1]}" /> 
     <h:outputText value="#{carsTable[1]}" /> 
      </h:selectOneMenu> 

そして、これは動作しますが、私は投稿のリンクでManufacturer列にこのコードを追加することができません。この例では、リストボックスを設定するのにSelectItem[]オブジェクトを使用しています。プログラムのmanufacturer列に値を追加して値を取り込む方法がわかりません。あなたが唯一の定義済みのフィルタ値がfilterOptionsが とコレクション/配列属性を使用できるようにするinputTextの代わりに ドロップダウンを使用したい場合は

答えて

1

これはPrimeFaces 2.2 Guide

のページ131上の例からです選択項目の値として。さらに、filterMatchModeはデフォルトでstartsWithである組み込みの マッチャーを定義します。以下は、これらの オプションを使用して高度なフィルタリングデータテーブルを示したものです。

<p:column 
     filterBy="#{car.manufacturer}" 
     headerText="Manufacturer" 
     filterOptions="#{carBean.manufacturerOptions}" 
     filterMatchMode="exact"> 
    <h:outputText value="#{car.manufacturer}" /> 
</p:column> 

したがって、この例では、carBeanフィルタドロップダウンリストにあるべきであるすべての値を含むSelectItem[]またはList<SelectItem>のいずれかを返すメソッドgetManufacturerOptions()を有するべきです。

REFERENCE:Javadoc for SelectItem

+0

私は 'リストを持って'どのように私は、リスト 'に変換します' – Illep

+0

私はあなたがスタックオーバーフローに掲載他の質問を見てきましたし、あなたがに喜んじゃないように思えますあなた自身の基本を理解する努力をしてください。たとえば、「SelectItem」は非常に基本的なJSFクラスであり、GoogleだけであればJSFプログラミングに関する本を読んで、それを使用する方法はたくさんあります。 –