プライマリ・コンテンツに移動
Oracle® Application Expressチュートリアル: アプリケーションの構築
リリース5.1
E89953-01
目次へ移動
目次
索引へ移動
索引

前
次

8 「Maintain Project」フォーム・リージョンの開発

「マイルストン」リージョンを更新して「Maintain Project」フォームに「タスク」リージョンを作成します。

このレッスンについて

前のレッスンでは、「Maintain Project」フォームを開発して、必須フィールドや、DEMO_PROJECTS表の変更の検証を含め、プロジェクトの進捗を更新しました。

このレッスンでは、「Maintain Project」フォーム・ページでの2つのリージョン(「マイルストン」と「タスク」)の開発を学習します。どちらのリージョンも、ディテール・リージョンとして機能します。

「マイルストン」ディテール・リージョンでは、ページ・デザイナでのリージョンの名前変更、監査詳細の分離、ランタイムでのライブ・テンプレート・オプションの更新など、以前のレッスンで学習したいくつかの基本的な更新で、ページ上の既存の対話グリッドを更新します。この対話グリッドは、DEMO_MILESTONES表を問い合せます。

「タスク」ディテール・リージョンについては、対話グリッド・リージョンを作成してそれを編集可能に変換することにより、ページ・デザイナで編集可能対話グリッドを追加する方法を学習します。続いて、「マイルストン」と「割当て先」列を選択リストに、「名前」列をテキスト・フィールドに、および「Is_Complete?」列をスイッチに、それぞれ変換することにより、編集可能な対話グリッドの列の使用を改善する方法を学習します。

また、リージョン表示セレクタを追加して、ランタイムにどのリージョンが表示されるかをトグルする方法も学習します。

最後に、ランタイムで「マイルストン」と「タスク」リージョンのライブ・テンプレート・オプションを両方とも更新します。

ここから開始:

Basic Projects App Export - Topic 6.sql

前のレッスンを完了していない場合、付録「作業領域へのアプリケーションのインストール」を使用して上述のSQLスクリプトを作業領域にインポートし、このレッスンから先に学習を続けられます。このスクリプトは、このチュートリアル付属の.zipファイルを解凍した場所の/filesサブディレクトリにあります。

8.1 「マイルストン」対話グリッドの更新

アプリケーションには、DEMO_PROJECTS表のほかに、DEMO_MILESTONESDEMO_TASKS表もあります。これらの2つの表には増分マイルストンおよびタスクのデータがあり、プロジェクト全体の進捗をより正確に追跡するのを助けます。

この時点では、アプリケーションはプロジェクト全体のステータスに対する変更のみをサポートします。2番目のMaintain Project対話グリッドを変更して、ユーザーがこれらのタスクとマイルストンのステータスを表示および変更できるようにします。

まずDEMO_MILESTONES表を問い合せるページ5の2番目の対話グリッドを更新します。

「Maintain Project」フォームに移動するには、次のステップを実行します。

  1. アプリケーションのホームページから、「5 - Maintain Project」をクリックします。

2番目の「Maintain Project」リージョンの名前(名前は以前のレッスンのコピー手順から継承されました)を変更するには、次のステップを実行します。

  1. 「レンダリング」ツリーまたは「レイアウト」タブの最下部にスクロールし、「Maintain Project」サブ・リージョンをクリックします(名前が斜体になっていることに注意)。
  2. Property Editorで、次のように操作します。
    1. 指定: タイトル - 「マイルストン」と入力します

「マイルストン」リージョンには、ユーザーが本当に必要としていない列がいくつかあります。完全にエンド・ユーザーから非表示にできるものが1つあり(ID)、残りは有益そうな監査詳細ですが、エンド・ユーザーが変更してはいけません。

注意:

後で必要になる場合に備えて、列は削除しないで非表示にすることをお薦めします。

列の表示方法を変更するには、次のステップを実行します。

  1. 「レンダリング」ツリーの「マイルストン」リージョンの下で、「列」フォルダを展開します。
  2. ID列を選択します。
  3. Property Editorで、次のように操作します。
    1. 指定: タイプ - 「非表示」を選択します
  4. 「レンダリング」ツリーで「作成」列をクリックして選択し、ID列を選択解除します。[Ctrl]キーを押したまま、次の列を選択します。
  5. Property Editorで、次のように操作します。
    1. 指定: タイプ - 「表示のみ」を選択します

8.2 「タスク」ディテール・リージョンの作成

「Projects」ページには、DEMO_MILESTONES表を問い合せる、小さなディテール・リージョンがすでにあります。次に、DEMO_TASKS表に別のディテール・リージョンを追加する必要があります。

「ギャラリ」から新しい対話グリッドを追加してDEMO_TASKS表を問い合せ、小さなディテール・リージョンを表示するように構成します。

「ギャラリ」から対話グリッド・リージョンを追加するには、次のステップを実行します。

  1. 「レイアウト」ペインの下にある「ギャラリ」ペインで、「リージョン」タブをクリックします。
  2. 「対話グリッド」を右クリックし、「追加先」を選択し、「コンテンツ本体」を選択し、「マイルストン」を選択し、「AFTER」を選択します。
    新しいリージョンが、「レイアウト」ペインの「マイルストン」リージョンの下に表示されます。
  3. Property Editorで、次のように操作します。
    1. 指定: タイトル - 「タスク」と入力します
    2. ソース: SQL問合せ - 「select * from demo_tasks where project_id = :P5_ID」と入力します

      注意:

      SQL select * from [Table_Name]は、指定された表からすべての列を戻します。where条件は、現在のプロジェクトで、それらに戻されるレコードを制限します。
    3. ソース: Page Items to Submit - P5_IDを選択します
    4. レイアウト: 新規行の開始 - 「はい」を選択します
    5. 外観: テンプレート - 「標準」を選択します
    6. サーバー側の条件: タイプ - 「アイテムはNULLではない」を選択します
    7. サーバー側の条件: アイテム - P5_ROWIDを選択します

対話グリッドはデフォルトで読取り専用なので、対話グリッドを編集可能に構成する必要があります。

対話グリッドを編集可能にするには、次のステップを実行します。

  1. 「レンダリング」ツリーの「タスク」の下で、「属性」フォルダを選択します。
  2. Property Editorで、次のように操作します。
    1. 編集: 有効 - 「はい」を選択します
    2. ツールバー: 「ボタン」 - 「保存」を選択解除します

      注意:

      「保存」ボタンはすでに「Maintain Project」リージョンにあり、複数あるとユーザーが混乱するため、「保存」ボタンを選択解除します。

有用性がないIDとPROJECT_ID列をビューから非表示にする必要がありますが、各々について追加の構成を実行して後のステップに備える必要があります。

「タスク」リージョンをクリーンアップするには、次のステップを実行します。

  1. 「レンダリング」ツリーの「タスク」の下で、「列」フォルダを展開して「ID」列を選択します。
  2. Property Editorで、次のように操作します。
    1. 指定: タイプ - 「非表示」を選択します
    2. ソース: 主キー - 「はい」を選択します

    注意:

    表の主キーの定義は、このトピックの後の方で、「タスク」レコードに関連がある子表が追加されるときに必要になります。

    表の主キーは各行を一意に識別し、行の重複も回避できます(通常はこの目的のみ)。

  3. 「レンダリング」ツリーで、PROJECT_ID列を選択します。
  4. Property Editorで、次のように操作します。
    1. デフォルト: タイプ - 「アイテム」を選択します
    2. デフォルト: アイテム - P5_IDを選択します

8.3 「タスク」リージョンでの列の更新

次に、一部の列の表示方法を変更して、「タスク」リージョンの操作性を改善します。

MILESTONE_ID列を選択リストに変換するには、次のステップを実行します。

  1. 「レンダリング」ツリーの「タスク」リージョンの下で、「列」フォルダを展開します。
  2. MILESTONE_ID列を選択します。
  3. Property Editorで、次のように操作します。
    1. 指定: タイプ - 「選択リスト」を選択します
    2. ヘッダー: ヘッダー - 「Milestone」と入力します
    3. ヘッダー: 位置合せ - 「開始」を選択します
    4. レイアウト: 列の位置合せ - 「開始」を選択します
    5. List of Values: タイプ - 「SQL問合せ」を選択します
    6. LOV: SQL問合せ - 「select name d、id r from demo_milestones order by 1」と入力します
    7. LOV: 追加値の表示 - 「いいえ」を選択します
    8. LOV: NULL表示値 - 「- Select Milestone -」と入力します

ASSIGNEE列を選択リストに変換するには、次のステップを実行します。

  1. 「レンダリング」ツリーの「タスク」リージョンの下で、ASSIGNEE列を選択します。
  2. Property Editorで、次のように操作します。
    1. 指定: タイプ - 「選択リスト」を選択します
    2. ヘッダー: 位置合せ - 「開始」を選択します
    3. レイアウト: 列の位置合せ - 「開始」を選択します
    4. LOV: タイプ - 「共有コンポーネント」を選択します
    5. LOV: LOV - TEAM MEMBERSを選択します
    6. LOV: 追加値の表示 - 「いいえ」を選択します
    7. LOV: NULL表示値 - 「- Select Assignee -」と入力します

NAME列をテキスト・フィールドに変更するには、次のステップを実行します。

  1. 「レンダリング」ツリーの「タスク」リージョンの下で、NAME列を選択します。
  2. Property Editorで、次のように操作します。
    1. 指定: タイプ - 「テキスト・フィールド」を選択します

IS_COMPLETE_YN列をスイッチに変更するには、次のステップを実行します。

  1. 「レンダリング」ツリーの「タスク」リージョンの下で、IS_COMPLETE_YN列を選択します。
  2. Property Editorで、次のように操作します。
    1. 指定: タイプ - 「切替え」を選択します
    2. ヘッダー: ヘッダー - 「「完了?」」と入力します

「監査」列を表示専用に変更するには、次のステップを実行します。

  1. 「レンダリング」ツリーの「タスク」リージョンの下でCREATED列を選択し、[Ctrl]キーを押したまま、次の列をすべて選択します。
    • CREATED

    • CREATED_BY

    • UPDATED

    • UPDATED_BY

  2. Property Editorで、次のように操作します。
    1. 指定: タイプ - 「表示のみ」を選択します

8.4 リージョン表示セレクタの追加

「Maintain Project」フォームに「マイルストン」ディテールと「タスク」ディテールを追加しましたが、ページの表示が混乱しています。リージョン表示セレクタを追加して、ユーザーが「マイルストン」と「タスク」の両リージョンが表示されるか、片方のみが表示されるようにページを整理できます。

まず、もともと別のリージョンからコピーした「マイルストン」リージョンを構成して、リージョン表示セレクタと互換性を持つようにする必要があります。最初から作成した「タスク」リージョンは、デフォルトで互換性を持ちます。

リージョン表示セレクタに合せて「マイルストン」リージョンを構成するには、次のステップを実行します。

  1. 「レンダリング」ツリーまたは「レイアウト」で、「マイルストン」リージョンを選択します。
  2. Property Editorで、次のように操作します。
    1. 詳細: リージョン表示セレクタ - 「はい」を選択します

リージョン表示セレクタを追加するには、次のステップを実行します。

  1. 「リージョン」タブの「ギャラリ」ペインで、リージョン表示セレクタを見つけます。
  2. リージョン表示セレクタを右クリックし、「追加先」を選択し、「コンテンツ本体」を選択し、「Maintain Project」を選択し、「AFTER」を選択します。

    ヒント:

    マウスを使用して「ギャラリ」からリージョン表示セレクタをドラッグし、「マイルストン」リージョンより上にドロップすることもできます。
  3. Property Editorで、次のように操作します。
    1. 指定: タイトル - 「RDS」と入力します
    2. 外観: テンプレート - ボタン・コンテナを選択します
    3. サーバー側の条件: タイプ - 「アイテムはNULLではない」を選択します
    4. サーバー側の条件: アイテム - P5_ROWIDを選択します
  4. 「ページの保存と実行」をクリックします。
  5. 試しにリージョン表示セレクタで「すべて表示」、「マイルストン」および「タスク」をクリックしてみて、機能を確認します。

8.5 ランタイムでのデフォルトの「マイルストン」レポートの改善

ビューから監査列を削除し、期日でレポートをソートし、ランタイムでデフォルトの「マイルストン」レポート(対話グリッド)の「説明」列を広げます。

ランタイムで「マイルストン」レポートを変更するには、次のステップを実行します。

  1. ランタイムの「マイルストン」リージョンで、「アクション」ボタンをクリックし、「列」を選択します。
    「列」ダイアログが表示されます。
  2. 次の列の「表示」チェック・ボックスの選択を解除します。
    • 作成日

    • 作成者

    • 更新日

    • 更新者

  3. 「保存」をクリックします。

期日を基準に「マイルストン」レポートを並べるには、次のステップを実行します。

  1. 「マイルストン」リージョンで、「アクション」ボタンをクリックし、「データ」を選択して、「ソート」を選択します。
  2. 「ソート」ダイアログで、次のように操作します。
    1. 列 - 「期日」を選択します
  3. 「保存」をクリックします。

(オプション) 「説明」列を広げるには、次のステップを実行します。

  1. (オプション)区切りをクリックして、コンテンツに合うところまでドラッグします。

デフォルトの主レポートに変更を保存するには、次のステップを実行します。

  1. 「アクション」ボタンをクリックし、「レポート」「レポートの保存」の順に選択します。
    システム・メッセージ「すべてのユーザーに対するデフォルトのレポートが保存されました」が表示されます。

8.6 ランタイムでのデフォルトの「タスク」レポートの改善

最後に、列を再構成してデフォルトの「タスク」レポート(対話グリッドでもあります)を更新します。

列の順序を変更してビューから列を非表示にするには、次のステップを実行します。

  1. 「タスク」リージョンで、「アクション」ボタンをクリックして「列」を選択します。
    「列」ダイアログが表示されます。
  2. 列ペインで「名前」を選択します。
  3. 「名前」列が「行アクション」列の下に表示されるまで、上移動アイコン(^)をクリックします。
  4. 「完了?」列を選択します。
  5. 「完了?」列が「割当て先」列の下で表示されるまで、上移動アイコン(^)をクリックします。
  6. 次の列の選択を解除します。
    • Project id

    • 作成日

    • 作成者

    • 更新日

    • 更新者

  7. 「保存」をクリックします。

列を位置に固定するには、次のステップを実行します。

  1. 「タスク」リージョンで、「名前」列ヘッダーをクリックします。
  2. 「凍結」アイコン(雪片)をクリックします。

開始日と終了日を基準に「タスク」レポートを並べるには、次のステップを実行します。

  1. 「タスク」リージョンで、「アクション」ボタンをクリックし、「データ」を選択して「ソート」を選択します。
    「ソート」ダイアログが表示されます。
  2. 「ソート」ダイアログで、次のように操作します。
    1. 列 - 「開始日」を選択します
    2. 「追加」アイコン( + )をクリックして新しい列を追加します。
    3. 新しい列を選択します。
    4. 列 - 「終了日」を選択します
    5. 「保存」をクリックします。
  3. 最後に、列のサイズを変更して合せます。完了したら、「アクション」ボタンをクリックして、「レポート」を選択し、「保存」を選択します。
    システム・メッセージ「すべてのユーザーに対するデフォルトのレポートが保存されました」が表示されます。
  4. 開発者ツールバーで、アプリケーション ####をクリックしてアプリケーションのホームページに戻ります。

「Maintain Project」フォームの「マイルストン」および「タスク」の各ディテール・リージョンが完成しました。

次のレッスンに進みます。