9 タスクの概要ページの開発

EBA_PROJECT_TASKS表に基づいて、アプリケーションで追跡されるすべてのプロジェクト作業を幅広く簡単にソートできる概要を提供する、ファセット検索ページを作成します。

このレッスンについて

このレッスンでは、アプリに最終ページ(ファセット検索ページ)を追加します。ファセット検索は、大きな表をソートするための強力なツールです。

ページの作成ウィザードを使用してページを追加し、ページ・デザイナを使用して、クラシック・レポートに似た検索結果リージョンと、ユーザーが結果をソートするために対話するファセットを含む検索リージョンを更新します。

9.1 ファセット検索ページの作成

ファセット検索ページをアプリケーションに追加するには:

  1. アプリケーションのホーム・ページで、「ページの作成」をクリックします。
  2. 「レポート」をクリックします。
  3. 「ファセット検索」をクリックします。
  4. 「ページ属性」で、次のステップを実行します。
    1. ページ番号 - 「8」と入力します
    2. レポート・ページ名 - タスクの概要と入力します
    3. 「次」をクリックします。
  5. 「ナビゲーション・メニュー」で、次のステップを実行します。
    1. 「新規ナビゲーション・メニュー・エントリの作成」を選択します。
    2. 「次」をクリックします。
  6. レポート・ソースの場合:
    1. 「表/ビューの名前」で、「LOV」アイコンをクリックします。
    2. 「EBA_PROJECT_TASKS (table)」を選択します。
    3. ファセットのリストが移入されるのを待ってから次に進みます。

      ノート:

      ページの作成ウィザードでは、データ・ディクショナリ・キャッシュを使用して有効なファセットを検出します。このプロセスの詳細は、Oracle Application Expressアプリケーション・ビルダー・ユーザーズ・ガイドファセット検索レポートの作成についてを参照してください。
    4. 「作成」をクリックします。
    ウィザードが完了すると、Application Expressはページ・デザイナに「タスクの概要」ページを自動的にロードします。
  7. 「ページの保存と実行」をクリックして、ランタイムにページを表示します。
  8. 完了したら、実行時開発者ツールバーのページ8の編集をクリックしてページ・デザイナに戻ります。

9.2 タスク概要検索結果の更新

「タスクの概要」ページのレポート領域を改善するために、いくつかのルーチン更新を実行します。

  • IS_COMPLETE列を更新します。
  • 書式マスクをCOST列に適用します。
  • 共有コンポーネントのナビゲーション・メニューの更新

IS_COMPLETE_YN列を更新するには:

  1. 「レンダリング」タブで、(「検索」ではなく)「検索結果」リージョンを見つけます。
  2. 「列」を展開し、「IS_COMPLETE_YN」を選択します。
  3. プロパティ・エディタで、次のように操作します。
    1. ヘッダー: ヘッダー -「Complete」と入力します
  4. 「レンダリング」タブで、「検索結果」をクリックします。
  5. プロパティ・エディタで、次のように操作します。
    1. ソース: タイプ - 「SQL問合せ」を選択します。
    2. ソース: SQL問合せ - コンテンツを削除してから、次のコードをコピーして貼り付けます。
      select ID,
             PROJECT_ID,
             MILESTONE_ID,
             NAME,
             DESCRIPTION,
             ASSIGNEE,
             START_DATE,
             END_DATE,
             COST,
             decode(is_complete_yn, 'Y', 'Yes', 'No') IS_COMPLETE_YN,
             CREATED,
             CREATED_BY,
             UPDATED,
             UPDATED_BY
        from EBA_PROJECT_TASKS
    3. 「保存」をクリックします。

COSTに書式マスクを適用するには:

  1. 「レンダリング」タブで、「COST」列を選択します。
  2. プロパティ・エディタで、次のように操作します。
    1. 外観: 書式マスク - 「LOV」アイコンをクリックします。
    2. 下にスクロールし、「$5,234.10」を選択します。
    3. 「保存」をクリックします。

タスクの概要ページのナビゲーション・メニュー・エントリを更新するには:

  1. 「共有コンポーネント」アイコンをクリックします。
  2. 「ナビゲーション」で、「ナビゲーション・メニュー」をクリックします。
  3. 「デスクトップ・ナビゲーション・メニュー」をクリックします。
  4. 「タスクの概要」をクリックします。
    「リスト・エントリ」画面が表示されます。
  5. 「エントリ」で、「順序」に80と入力します。
  6. 「イメージ/クラス」に、fa-table-pointerと入力します。
  7. 「変更の適用」をクリックします。
  8. 「実行」アイコン(右上)をクリックして、ページを実行します。
  9. 実行時にメニュー・アイコン(左上)をクリックして、ナビゲーション・メニューを展開します。

    ファセット検索ページは、表のコンテンツをすばやくソートするのに便利です。ファセットと対話して、結果にどのように影響するかを調べます。

    • 左側のファセットを選択および選択を解除して、表示の範囲を絞り込みます。
    • 同じカテゴリ内の複数のファセットを選択します。
    • 「クリア」をクリックして、カテゴリ内のすべてのファセットの選択を解除します。
  10. 完了したら、実行時開発者ツールバーのページ8の編集をクリックしてページ・デザイナに戻ります。

9.3 タスクの概要ファセットの更新

結果レポート・リージョンが更新された状態で、いくつかの基本的な微調整を行って検索リージョンの外観と機能を改善できます。

  • 「検索」リージョンの「Projects」の下に「Milestones」が表示されるように、ファセット項目の順序を変更します。
  • カスケードLOVをMILESTONE_ID列に適用します。カスケードLOVにより、「Project」ファセットが選択されている場合にのみ「Milestone」ファセット・グループが表示されるような依存関係が作成されます。これにより、「検索」リージョンの煩雑さが軽減されます。
  • ユーザーが検索文字列を使用して「Projects」リストをすばやく参照できるように、「Project」ファセット・グループに検索フィールドを追加します。

ページ・デザイナでファセット順序を変更するには:

  1. 「レンダリング」タブの「検索」で、「P8_MILESTONE_ID」ファセットをクリックして押したままドラッグして、「P8_PROJECT_ID」の後に表示されるようにします。
  2. 「保存」をクリックします。

カスケードLOVを「Milestone」ファセット・グループに適用するには:

  1. 「P8_MILESTONE_ID」が選択された状態のまま、プロパティ・エディタで次の手順を実行します。
    1. リスト・エントリ: 上位件数でソート - クリックして無効化します。
    2. カスケードLOV: 親ファセット - P8_PROJECT_IDと入力します
    3. LOV列 - PROJECT_IDと入力します
    4. 「ページの保存と実行」をクリックします。

    ランタイムが表示されます。「Milestone」グループが表示されなくなったことに注意してください。



  2. 実行時に「Project」ファセットをクリックします。「Milestone」カテゴリが表示されます。

    検索結果リージョンの上に、「Project」フィルタが表示されます。

    複数のファセットを選択できます。ファセットごとにフィルタが表示されます。「X」アイコンをクリックしてフィルタを個別に削除するか、「すべてクリア」をクリックしてすべてのファセットの選択を解除します。



    「Configure Web Environment」プロジェクトにはマイルストンが含まれていないため、このプロジェクトを選択しても「Milestone」ファセット・グループは表示されません。

  3. 終了したら、実行時開発者ツールバーで「ページ8の編集」をクリックします。

「Project」ファセット・グループに検索フィールドを追加するには:

  1. 「レンダリング」タブの「検索」で、「P8_PROJECT_ID」を選択します。
  2. プロパティ・エディタで、次のように操作します。
    1. リスト・エントリ: ゼロ件のエントリ - 「最後に表示」を選択します。
    2. リスト・エントリ: クライアント側のフィルタ - クリックして有効化します。
      「クライアント側のフィルタ」を有効化すると、テキスト検索フィールドがリージョンに追加されます。「ゼロ件のエントリ - 最後に表示」を選択すると、選択したファセットに対する結果がないファセットがリストの一番下に移動されます。これらはnullとして表示されます。
    3. 「ページの保存と実行」をクリックします。

ファセット検索ページの「タスクの概要」が完了しました。

お疲れ様でした。アプリケーションが完成しました。