Web ページで動的データを処理するには、データ・ソースを定義する必要があります。使用できる動的データ・ソースの 1 つに、関連レコード・リストがあります。関連レコード・リストで、関連データベース表から複数のレコードを表示することができます。
ページに関連レコード・リストを定義する場合、そのデータを Web ページで使用可能にします。関連レコード・リストを Faces JSP ページに追加するには、以下のような方法があります。
- ページ・データ・ビューで関連レコード・リストを作成する。そのデータ・リストをページ上で表示するために、そのリストをページ・データ・ビューからそのページにドラッグします。
- パレットのデータ・ドロワーの関連レコード・リスト・コンポーネントをページにドラッグする。これは、次の手順で説明している方法です。
注: 関連レコードまたは関連レコード・リストを Faces JSP に追加する場合は、ページ・コード・ファイル
が必要となります。関連レコードまたは関連レコード・リストを追加
する際に、ページ・コードの抑止がオンの場合、ページ・コード・ファイルの生成を許可するようにプロンプトが出されます。
データ・ドロワーを使用することによって、関連レコード・リストをご使用の Web ページに追加するには、次のようにします。
- パレット上のデータ・ドロワーを開く。
- パレットの関連レコード・リスト・コンポーネントを、データを表示させたい Faces JSP ページにドラッグする。「関連レコード・リストの追加」ウィザードが開きます。
注: ターゲット・サーバー・ダイアログが開く場合は、「WebSphereR Application
Server v5.1」または「WebSphere Application Server v6.0」をリストから選択して、
「OK」をクリックします。
- レコード・リストに、ページ内で使用する名前を付ける。
- プロジェクト内の他の場所で関連レコード・リストをすでに定義済みで、そのリストからデータを使用する場合、「既存のレコードまたはレコード・リストからメタデータ定義を再利用 (Reuse metadata definition from an existing record or record list)」にチェック・マークを付け、「参照」をクリックして、入力ファイルを選択する。
- データのフィールドを使用してデータ・テーブルを自動作成するには、「データ・コントロールの追加」にチェック・マークを付ける。その他の場合は、レコード・リストがページ・データ・ビューに追加され、そのページで使用可能ですが、このリストのコントロールは生成されません。後で、データ・テーブルを使用してレコード・リストを表示するには、ページ・データ・ビューからそのページへレコード・リストをドラッグすることができます。
- 「次へ」をクリックする。
- 「レコード・リスト特性」パネルで、接続名を指定する
(または、「新規」をクリックして、新規接続を作成する)。
- 「新規」をクリックすると、「新規接続」パネルが開く。
- 「新規 DB 接続の作成」をクリックする。「新規データベース接続」ウィザードが開きます。このウィザードを使用した新規データベース接続の作成の詳細については、『ウィザードを使用したデータベースへの接続』を参照してください。
- 接続が確立されたら、テーブルを選択し、「次へ」をクリックする。
- 「列の選択およびその他タスク」パネルで次の手順を実行する。
- 関連レコード・リストに組み込むフィールドを選択する。
- さらにレコード・リストを詳細化するには、次のタスクまたは拡張タスクのいずれか 1 つをクリックすることができる。
- 主キーの変更: 「主キーの編集」ダイアログが開き、使用可能な列および主キー列がリストされます。矢印を使用して、主キー列を変更します。この操作では、このレコード・リスト定義の主キーが定義されるだけで、実際のデータベース上の主キーは変更されないことに注意してください。
- 配列結果: 「配列」ダイアログが開き、使用可能な列がリストされます。配列する列を選択し、それらを編成する方法 (昇順または降順) を選択します。
- フィルター結果: 「フィルター」ダイアログが開きます。追加 (+) ボタンをクリックして、「条件」ダイアログを開きます。ここで、特定の条件を満たすレコードのみを表示するように、レコードをフィルターにかけることができます。
- 別のデータベース・テーブルを関係から追加: 「関係の作成」ウィザードが開き、現在のデータベースから既存の関係を作成するか、新規の関係を作成できます。
- 自動生成キー: 「キー生成」ダイアログが開きます。「自動キー生成の使用」にチェック・マークを付け、自動キー生成に使用する 1 つのテーブルと 2 つの列を選択します。
- 並行性コントロールの設定: 「並行性」ダイアログが開きます。並行性制御によって、他のトランザクションがデータ・リソースを使用することができない期間を最小化することができます。例えば、長時間データ・リソースを拘束する長時間実行トランザクションの場合、その時間を最小化したい場合があります。列レベルの並行性制御を提供することも可能です。これにより、元のデータが取り出された後に、別のトランザクションによって基礎となるデータ・ソースが更新されたかどうかをテストできます。更新用にマークされた列およびその元の値は、UPDATE ステートメントの WHERE 文節を介して明示的に追加されるため、基礎となる列の値が変更されている場合、このステートメントは失敗します。その結果、列レベルの並行性制御が提供されます。基礎となる列が最初のデータ検索後に更新されていない場合、保留中の更新がコミットされロックが解放されます。ロックが獲得されないか、または現在のトランザクションの開始以降、他のトランザクションが列を更新した場合、トランザクションはロールバックされます。
- 「次へ」をクリックする。
- 「データ・コントロールの構成」パネルで次の手順を実行する。
- すでに「データ・コントロールの追加」にチェック・マークが付いている場合、次のいずれか 1 つのデータ・コントロールを選択して作成する。
- 複数列のデータ・テーブル (データ・エントリーごとに 1 つのテーブル行)
- 単一列データ・テーブル (エントリーごとに複数のテーブル行)
- 単一列データ・テーブル内の未フォーマット・コントロール
- 表示する列を選択し、その列にラベルを入力して、それぞれの列のコントロール・タイプを選択する。コントロール・タイプには、出力フィールド、出力フォーマット済みテキスト、コンボ・ボックス、入力フィールド、入力テキスト領域などがあります。上下矢印キーを使用して、列の順序を変更します。
- 「オプション」をクリックして、別のオプションを設定する。次のタブを持つ「オプション」ダイアログが開きます。
- ラベル - レコードまたはデータ・テーブルに、アクセシビリティ・ラベルのオプションが含まれます。それぞれのラベルが、中央、右または左に位置合わせされるよう、ラベルの位置合わせが可能です。各ラベルの後にコロンを付けたり、各ラベルの先頭文字を大文字にしたりすることもできます。
- 拡張 - 「深さ」の横に深さレベルを入力する。深さレベルは、ページ・データ・ビューに表示されるデータのレベル数を設定します。深さ 3 を選択すると、ページ・データ・ビューは、3 つのレベルのデータで関連レコード・リスト (またはその他のデータ・ソース) を表示します。例えば、第 1 レベルにはヨーロッパ、第 2 レベルにはイタリア、第 3 レベルにはミラノが含まれていると、その他のレベル (ミラノのロケーションなど) は表示されません。また、ミラノより下位のレベルは、ウィザードでは表示されず、コントロールも生成されません。「デフォルトの深さとして使用」にチェック・マークを付けて、ユーザーのデフォルトの深さレベルを変更します。「データ・コントロールのみを作成」にチェック・マークを付けて、データ・コントロールのみをそのページで作成します。このオプションにチェック・マークが付いていないと、データ・コントロールおよびその他の関連コントロールが作成されます。例えば、入力テキスト・コンポーネントを作成しているときに、「データ・コントロールのみを作成」にチェック・マークが付いていると、そのコンポーネントのみがそのページで作成されます。しかし、このオプションにチェック・マークが付いていないと、入力テキスト・コンポーネントだけでなく、フォーム内エラーの表示コンポーネント、ラベル・コンポーネント、およびおそらく「実行」ボタンも作成されます。「ソース・コードに <label> タグを組み込む (Include <label>
tags in the source code)」にチェック・マークを付け、ラベルのアクセシビリティを高める <label> タグを作成します。
- ボタン - このタブは、レコードを更新する場合に表示されます。ユーザーがレコードを更新しやすくなるように、「実行」および「削除」ボタンを追加することを選択できます。
- 「終了」をクリックする。 データ・ソースがこのページで定義され、ページ・データ・ビューで表示されます。「データ・コントロールの追加」にチェック・マークが付いていると、コントロールが生成されます。チェックされていない場合は、ページ・データ・ビューからそれらのコントロールをドラッグする必要があります。
データ・テーブルがご使用のページにあれば、データ・テーブルや、データ・テーブルが含んでいる他のコンポーネントのプロパティーを設定することができます。データ・テーブルの「値」情報が、すでに入力されていることに注意してください。