16.7.3 アプリケーション・レベルでの動的LOVの作成

LOVの作成ウィザードを実行して、アプリケーション・レベルで名前付き動的LOVを定義します。

Oracle APEXでは、名前付き(共有) LOVはLOVリポジトリに格納されます。動的LOVは、ローカル・データ・ソース、REST対応SQLを使用して定義されたリモート接続、またはRESTデータ・ソースを使用して定義されたRESTful Webサービスからデータを取得します。

次の手順では、フォーム・アイテム「タスク名」の動的LOVを作成し、それを選択リストとして表示します。次の例は、サンプル・データセット「プロジェクト・データ」で使用可能なEBA_DEMO_IR_PROJECTS表に基づいて作成されています。

名前付き動的LOVを作成するには:

  1. 共有コンポーネント・ページにナビゲートします。
    1. ワークスペースのホームページで、「アプリケーション・ビルダー」をクリックします。
    2. アプリケーションを選択します。
    3. アプリケーションのホームページで、「共有コンポーネント」をクリックします。
      共有コンポーネント・ページが表示されます。

    ヒント:

    ページ・デザイナ・ツールバーで「共有コンポーネント」(共有コンポーネント)をクリックして、ページ・デザイナから共有コンポーネントにアクセスすることもできます。
  2. LOVの作成ウィザードを実行します。「LOV」ページで、「作成」をクリックします。
  3. LOVの作成ウィザードで、次の操作を行います。
    1. ソース:
      • LOVの作成 - LOVの作成方法を指定します。この例では、「最初から」を選択します。

      • 「次」をクリックします。

    2. 名前およびタイプ:
      • 名前 - LOVの名前を入力します。たとえば:

        Task

      • タイプ - 「動的」を選択します。

      • 「次」をクリックします。

    3. LOVソース:
      • データ・ソース - 「ローカル・データベース」を選択します。

      • ソース・タイプ - ローカル・データベースを使用するリストは、表、SQL問合せ、またはSQLを戻すPL/SQLファンクションに基づくことができます。

        この例では、「表」を選択します。

      • 表/ビューの所有者 - 作成しているLOVの基になる表の所有者を選択します。

      • 表/ビューの名前 - LOVの基になる表またはビューを選択します。

        EBA_DEMO_IR_PROJECTSを選択します。

      • 「次」をクリックします。

    4. 列マッピング:
      • 戻り列 - LOVの戻り値として使用する列を定義します。デフォルトのIDを受け入れます。

      • 表示列 - LOVの表示値として使用する列を定義します。デフォルトのTASK_NAMEを受け入れます。

        複数の列の表示をサポートするアイテム・タイプ(ポップアップLOVなど)のLOVを作成した後、追加の表示列を定義できます。

    5. 「作成」をクリックします。
      新しいLOVが「LOV」ページに表示されます。
  4. ページ・デザイナで、LOVを参照するようにフォーム・アイテムを更新します。
    1. ページ・デザイナに戻ります。ページ・デザイナ・ツールバーの「ページXの編集」をクリックします。Xはページ番号です。
      ページ・デザイナが表示されます。
    2. 「レンダリング」タブで、フォーム・ページ・アイテムを選択します。たとえば、P3_TASK_NAMEを選択します。
    3. プロパティ・エディタで、次の属性を編集します。
      • 識別、タイプ - 「選択リスト」を選択します。

      • LOV、タイプ - 「共有コンポーネント」を選択します。

      • LOV、LOV - TASKを選択します。

      • LOV、追加値の表示 - アイテムには、指定されたLOV定義に存在しないセッション・ステート値が含まれることがあります。このLOVにその追加セッション・ステート値を表示するかどうかを選択します。デフォルトを受け入れます。

      • LOV、NULL値の表示 - 有効にすると、NULL値がリストの最上部に表示されます。デフォルトを受け入れます。

      • LOV、NULL表示値 - このリストの最上部にあるリストNULLオプション内に表示するテキストを入力します。次のように入力します。

        - Select Task -

        この値は、値がnullの場合にアイテムをレンダリングするときにも表示されます。テキストを入力しない場合、リストでは空白行として表示され、レンダリング時には空白アイテムとして表示されます。

      dynamic_lov_page_designer.pngの説明が続きます
      図dynamic_lov_page_designer.pngの説明
    4. 「保存」をクリックし、ページを実行します。

    フォーム・アイテム「タスク名」が選択リストとして表示されるようになりました。

    dynamic_lov_select_list.pngの説明が続きます
    図dynamic_lov_select_list.pngの説明