複数選択コンポーネントを使用すると、
値のリストから 1 つまたは複数の選択を行うことができます。
ユーザーの選択は、PageHandler 配列データ域に保管されます。
チェック・ボックス・グループと複数選択リスト・ボックスは、JavaServer Faces
複数選択コンポーネントです。
バインディングとは、コンポーネントとデータ域の関係のことです。
コンポーネントをデータ域へバインドするには、
事前にそのデータ域を PageHandler で宣言しておく必要があります。
複数選択コンポーネントには、次の 2 種類のバインディングが必要です。
- ユーザーが選択できる値が入った 1 つ以上のデータ域へのバインディング
- ユーザーの選択を受け取る配列データ域へのバインディング
JavaServer Faces 複数選択コンポーネントを既存の EGL
PageHandler データ域へバインドするには、次のようにします。
- Page Designer で Faces JSP ファイルを開く。
JSP ファイルを開いていない場合は、
プロジェクト・エクスプローラーで JSP ファイルをダブルクリックします。
Page Designer で JSP が開きます。
「設計」タブをクリックして「設計」
ビューにアクセスします。
- 「ウィンドウ」メニューで、
「ビューの表示」 > 「その他」 > 「基本」 >
「パレット」を選択する。
- パレット・ビューで、「Faces コンポーネント」ドロワーをクリックして、Faces
コンポーネントのオブジェクト型を表示する。
- 複数選択コンポーネントをパレットから JSP にドラッグする。
コンポーネント・オブジェクトが JSP 上に配置されます。
- ユーザーに対して表示したい値が入っている 1
つ以上の PageHandler データ域へコンポーネントをバインドするために、
次のいずれかの手順を実行する。
- 1 つずつリスト項目が入った個々の PageHandler データ域へコンポーネントをバインドすることができる。
それぞれのデータ域について、次の手順を実行します。
- JSP 上でオブジェクト・コンポーネントを選択する。
- 「プロパティー」ビューで、「選択項目の追加」をクリックする。
「名前」および「値」フィールドにデフォルト値が取り込まれます。
- 「名前」フィールドをクリックし、
ユーザーに対して表示したいテキストを入力する。
- 「値」フィールドをクリックし、
「値」フィールドの隣にあるボタンをクリックする。
「ページ・データ・オブジェクトの選択」リストから個々のデータ域を選択して「OK」をクリックします。
このデータ域は、後で受け取り側データ域へ移動される値を保持します。
- ユーザーに対して表示したい複数の値が入っている 1
つの PageHandler 配列データ域へコンポーネントをバインドすることができる。
コンポーネントを配列データ域へバインドするには、次の手順を実行します。
- JSP 上でオブジェクト・コンポーネントを選択する。
- 「プロパティー」ビューで、「選択項目のセットを追加」をクリックする。
「名前」および「値」フィールドにデフォルト値が取り込まれます。
- 「値」フィールドをクリックし、
「値」フィールドの隣にあるボタンをクリックする。
「ページ・データ・オブジェクトの選択」リストから配列データ域を選択して「OK」をクリックします。
配列データ域内の値は、ユーザーに対して表示される値です。
後で説明するプロパティーによって、配列データ域内の値、
またはそれと等価のインデックス値が、
受け取り側データ域へ移動されるかどうかが決まります。
- ユーザーに対して表示される値を提供するために配列データ域を使用する場合は、selectFromListItem
と selectType
の 2 つのプロパティーを使用して受け取り側データ域を定義する必要があります。
selectFromListItem プロパティーは、
リスト項目を保持する配列を指します。
selectType プロパティーは、
受け取り側データ域にテキスト値またはインデックス値のどちらを取り込むかを示します。
受け取り側データ域の例を以下に示します。
colorSelected char(10)
{selectFromListItem = "colorsArray",
selectType = value};
colorSelectIdx smallInt
{selectFromListItem = "colorsArray",
selectType = index};
- ユーザーの選択を受け取る PageHandler 配列データ域へコンポーネントをバインドするために、次のようにする。
- JSP 上でコンポーネント・オブジェクトを選択する。
- 「プロパティー」ビューの「値」
フィールドの隣にあるボタンをクリックする。
- 「ページ・データ・オブジェクトの選択」リストからデータ域を選択する。
- 「OK」をクリックする。