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

前
次

7 プロジェクト・ページの開発

ユーザーのプロジェクト管理タスクをサポートするために、プロジェクトのレポートとフォームのページを開発します。

このレッスンについて

これまでに、アプリケーションの作成ウィザードを使用して、DEMO_PROJECTS表のレポートとフォームを生成しました。以前のレッスンで、これは未加工のHomeおよびTeam Membersのページに類似した一部のデフォルト出力を生成しました。ただしプロジェクト・レポートが対話グリッドを使用し、プロジェクト・フォームが別のページ(モーダル・ダイアログではありません)である点が異なります。

Maintain Projectフォームは、マスター・ディテール・フォーム(略して「マスター・ディテール」)です。マスター・ディテールは、データベースの2つの表の1対多関係を示します。通常、マスター・ディテール・フォームには、1つのHTMLフォーム内にマスター行および複数のディテール行が表示されます。このフォームを使用すると、2つの表またはビューに対し、値の挿入、更新および削除を行うことができます。

このレッスンでは、共有コンポーネントに共有値リスト(LOV)を作成し、ページ・デザイナでそれをレポートに追加する方法を学習します。また、統一した外観になるようにレポートを調整し、Team Membersレポートのように見えるようにします。

フォームについては、開発者ツールバーライブ・テンプレート・オプションを使用して、ランタイムでページを直接変更する方法を学習します。続いてページ・デザイナで、静的な値リスト動的アクションおよび検証を作成する方法を学習します。

最後に、ページ・デザイナで、ページ同士でサブ・リージョンをコピーする方法を学習します。

ここから開始:

Basic Projects App Export - Topic 5.sql

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

7.1 SQL問合せと表示列の更新

まず、DEMO_PROJECTSのSQL問合せを更新してプロジェクト・レポート・ページを更新し、主レポートでデフォルトの表示列を再構成します(Team Membersページに対して行ったことに似ています)。

Team Membersページとは異なり、プロジェクト・レポート・ページは対話グリッドを使用します。対話グリッドは対話モード・レポートに似ていますが、より多くの機能を備えており、データ・セットとのより高度な対話をサポートします。

SQL問合せと対話グリッドの列表示を更新するには、次のステップを実行します。

  1. アプリケーションのアプリケーション・ビルダー概要で、4 - プロジェクトをクリックして、ページ・デザイナでプロジェクト・レポートを開きます。
  2. ページ・デザイナで、「プロジェクト」リージョンを選択します。
  3. Property Editorで、次のように操作します。
    1. ソース: SQL問合せ - 現在のコンテンツを削除してから、次のコードをコピーして貼り付けます。
      select ID
      , NAME
      , DESCRIPTION
      , PROJECT_LEAD
      , COMPLETED_DATE
      , STATUS
      , CREATED
      , CREATED_BY
      , UPDATED
      , UPDATED_BY
      , (select count('x')
         from demo_milestones m
         where m.project_id = p.id
        ) milestones
      , (select count('x')
         from demo_tasks t
         where t.project_id = p.id
        ) tasks
      from DEMO_PROJECTS p

      注意:

      マイルストンとタスク統計(それぞれ行11および15)は、内部のSQL SELECT文を使用して決定されます。
    SQL文を入力した後で、ページ上で「SQL問合せ」フィールドの外側のどこかをクリックしてページのフォーカスを変更すると、ページ・デザイナが自動的にコードを検証します。エラーがない場合、保存されていない変更があることを示す青の三角形を付けて、フィールドが正常に表示されます。エラーがある場合、プロパティ・エディタで領域が赤くなり、エラー・メッセージが表示されます。
  4. 「ページの保存と実行」をクリックします。
    1. 「ページにフォーカス」ダイアログが表示されたら、「再試行」をクリックします。

ランタイム内の無関係な列を削除するには、次のステップを実行します。

  1. アプリケーション・ランタイムで、「アクション」をクリックして「列」を選択します。
    「列」ダイアログが表示されます。
  2. 「列」ダイアログの左のペインで、次の列の横にあるボックスを選択解除してビューに表示されないようにします。
    • ID

    • 作成日

    • 作成者

    • 更新日

    • 更新者

  3. 「保存」をクリックします。
    対話グリッドがリフレッシュされ、選択した列を非表示にします。

2つの列はデフォルトでソートできないので(NameとDescription)、この機能を有効化してください。

対話グリッドで列のソートを有効化するには、次のステップを実行します。

  1. 開発者ツールバーの「ページの編集 4」をクリックしてページ・デザイナに戻ります。
  2. 「レンダリング」ツリーのProjectsリージョンの下で、「列」フォルダを展開します。
  3. [Ctrl]キーを押したまま、次のアイテムをクリックして選択します。
    • NAME

    • DESCRIPTION

プロパティ・エディタでソート属性を検索するには、「フィルタ・プロパティ」に検索を入力します。

  1. プロパティ・エディタの上部で、「フィルタ・プロパティ」フィールドをクリックして「sort」と入力します。
    プロパティ・エディタに、「sort」文字列を含んでいるフィールドのみが表示されます。
  2. 「ユーザーの有効化: ソート/コントロール・ブレーク/集計」で、「はい」を選択します。
  3. 「保存」をクリックします。

7.2 共有値リストを使用した「Project Lead」列への名前の追加

ランタイムを見ると、プロジェクト・レポートのProject Lead列には、現在ユーザーの名前でなく数値のIDが表示されています。これは、技術的には正確ですが、ユーザー・フレンドリではありません。

Project Lead IDは、DEMO_PROJECTS表から導入されます。ただし、DEMO_TEAM_MEMBERS表には、各製品リーダーのIDに関連付けられた名前があります。数値IDをチーム・メンバーの名前に変換するには、2つの表の間に接続を作成する必要があります。

Project Lead列に2つの表を接続し、共有の値リスト(LOV)を作成して、Projectsページの対話グリッドに追加します。

「共有コンポーネント」メニューにアクセスするには、次のステップを実行します。

  1. 次のいずれかを行います:
    • ページ・デザイナで、「保存」ボタンの横にある「共有コンポーネント」アイコン(三角形、円、正方形)をクリックします。
      GUID-F1C5C4CC-0A97-4A47-9208-E08D27F301F2-default.pngの説明が続きます
      図GUID-F1C5C4CC-0A97-4A47-9208-E08D27F301F2-default.pngの説明
    • ページ・デザイナで、「アプリケーション####」をクリックしてアプリケーション・ページの概要に戻り、「共有コンポーネント」をクリックします。

共有LOVを作成するには、次のステップを実行します。

  1. 「他のコンポーネント」で、「LOV」をクリックします。
  2. 「作成」をクリックします。
    「LOVの作成」ウィザードが表示されます。
  3. 「最初から」が選択されていることを確認し、「次へ」をクリックします。
  4. 「名前」および「動的」セクションで、次のように操作します。
    • 名前 - 「Team Members」と入力します

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

  5. 「次へ」をクリックします。
  6. 「問合せ」で、現在のコンテンツを削除してから、次のコードをコピーして貼り付けます。
    select full_name as display
    , id as return
    from demo_team_members
    order by 1
  7. LOVの作成」をクリックします。
    TEAM MEMBERS値リストが表示されます。
  8. ツールバーの「ページの編集 4」ボタンをクリックしてページ・デザイナに戻ります。

これで値リストを作成できました。次に、それをProjects対話グリッドのPROJECT_LEAD列に追加します。

ページ・デザイナの列に値リストを追加するには、次のステップを実行します。

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

7.3 「Projects」レポート・ページの外観の更新

アプリケーションの作成ウィザードはページに自動的にボタンを生成しますが、ユーザーに最適になるように、常に必要に応じて評価、再構成してください。

「作成」ボタンを「ブレッドクラム」リージョンに移動します(Team Membersレポート・ページで行った操作に似ています)。

さらに、対話グリッドの外観テンプレートを対話モード・レポートのものに変更して、外観がアプリケーション全体で整合的になるようにします。

ページ・デザイナでボタンを移動するには、次のステップを実行します。

  1. 「レイアウト」タブで、「CREATE」ボタンを右クリックします。
  2. 「移動先」を選択し、「ブレッドクラム」を選択して、「作成」を選択します。

    ヒント:

    「作成」ボタンをProjectsリージョンから「ブレッドクラムへのプレースホルダの作成」リージョンにドラッグ・アンド・ドロップすることもできます。
  3. Property Editorで、次のように操作します。
    1. 指定: ラベル - 「Add Project」と入力します
    これでボタンを更新できました。

Projectsリージョンの外観テンプレートを変更するには、次のステップを実行します。

  1. 「レンダリング」ツリーまたは「レイアウト」で、Projectsリージョンを選択します。
  2. Property Editorで、次のように操作します。
    1. 外観: テンプレート - 「対話モード・レポート」を選択します
  3. 「ページの保存と実行」をクリックすると、更新された「作成」ボタンがランタイムに表示されます。

7.4 Projects Report列のカスタマイズ

ランタイムで、対話グリッドを更新して読みやすくしてください。

ページ上の位置に固定させることで、プロジェクトの名前に優先順位をつけます。続いて、グリッドの端に「説明」列を移動し、「アクション」メニューの「データ」サブメニューを使用してすべての列にデフォルトのソート・ルールを適用します。

対話グリッドで列を固定するには、次のステップを実行します。

  1. 「名前」をクリックします。(「名前」列のヘッダー)。
    「列ヘッダー」メニューが表示されます。
  2. 「凍結」アイコン(雪片)をクリックします。
    固定アイコン
    列が位置に固定され、水平スクロール・バーが他の列の下に表示されます。これで、「名前」列が常にページに表示されます。

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

ヒント:

マウス・カーソルを列ヘッダーに合せると表示されるドラッグ・ハンドルをクリックしたままにして、列を位置にドラッグ・アンド・ドロップして並べ替えることもできます。

  1. 「アクション」ボタンをクリックして「列」を選択します。
    「列」ダイアログが表示されます。
  2. 「説明」列をクリックして選択します。
  3. ペインの下で、下移動ボタン(下矢印)を、リストの最下部(「タスク」の下)に「説明」が表示されるまで、数回クリックします。
  4. 「保存」をクリックします。

作成日でレコードをソートするには、次のステップを実行します。

  1. 「アクション」ボタンをクリックし、「データ」を選択し、「ソート」を選択します。
    「ソート」ダイアログが表示されます。
  2. 「ソート」ダイアログで、次のように操作します。
    1. 列 - 「作成」を選択します
  3. 「保存」をクリックします。
  4. (オプション)どの列も広すぎたり(「マイルストン」と「タスク」など)、狭すぎたり(「説明」など)しないように、必要に応じてすべての列の幅を調整します。
  5. 完了したら、「アクション」ボタンをクリックして、「レポート」を選択し、「保存」をクリックします。
    レポートに変更が保存されます。
Projectsレポート・ページが完成しました。次に、Projectsフォーム、Maintain Projectを開発します。

7.5 ライブ・テンプレート・オプションによるProjectフォームの外観の変更

アプリケーションの操作性にとって整合性は重要です。Maintain Team Memberモーダル・ダイアログの外観と機能に適合するように、Projectフォーム・モーダル・ダイアログのプロパティを更新します。チュートリアルのここまでで、新しいページに同じ組み合せの設定を適用してきたので、これについては多少ご存知でしょう。

開発者ツールバーのライブ・テンプレート・オプションを使用してランタイムでフォームの外観を変更し、続いてページ・デザイナに切り替えてより細かい変更を行います(たとえばボタンの移動やフィールドの条件変更)。

Maintain Projectページに移動するには、次のステップを実行します。

  1. ランタイムのProjectsページで、いずれかのプロジェクトの名前の横にある「編集」アイコン(鉛筆)をクリックします。
    ブラウザが、Maintain Projectフォームに移動します。

ライブ・テンプレート・オプションを使用してページを更新するには、次のステップを実行します。

  1. 開発者ツールバーで、「クイック編集」をクリックします。
    ページがクイック編集モードになります。
  2. 「Maintain Project」リージョン(ページ・タイトルでなく)にマウスを合せます。
    レンチのアイコンが右上隅に表示されます。
  3. レンチのアイコンをクリックします。
    「ライブ・テンプレート・オプション」ダイアログが表示されます。
  4. 「ライブ・テンプレート・オプション」で次のように操作します。
    1. ヘッダー - 「非表示だがアクセス可能」を選択します
    2. スタイル - UI装飾の削除を選択します
    3. アイテム・パディング - スリム・パディングを選択します
    それぞれの変更を反映してページが更新されます。
  5. 「保存」をクリックします。

7.6 ページ・デザイナでのProjectフォームの更新

Projectsレポートの場合、「ブレッドクラム」リージョンのページの右上に「作成」ボタンを移動しました。Maintain Projectフォームでは同じスペースが空である点に注意してください。ページ・デザイナでの「作成」ボタンのデフォルトの位置はページの右上隅ですが、プレースホルダにはいかなるボタンでも配置できます(特に、今のところ何もそこにないため)。

一部のフィールドを必須に変更し、「Project Lead」フィールドにTEAM MEMBERS LOVを追加する必要があります(Maintain Team Memberフォームに対して行った変更に似ています)。

まずボタンから始めます。

  1. 開発者ツールバーで「ページ5の編集」をクリックしてページ・デザイナのページに戻ります。

プロジェクト・エントリのナビゲーション・ボタンを「作成」位置に移動するには、次のステップを実行します。

  1. 「レイアウト」タブの中央で、Maintain Projectリージョン(サブ・リージョンでなく)の最下部近くにある既存のボタンを見つけます。
  2. [Ctrl]キーを押したまま次のボタンをクリックして、両方とも選択します。
    • GET_PREVIOUS_ROWID

    • GET_NEXT_ROWID

  3. Property Editorで、次のように操作します。
    1. レイアウト: リージョン - 「ブレッドクラム」を選択します
    2. レイアウト: ボタン位置 - 「作成」を選択します

    「前」および「次」ボタンは、「ブレッドクラム」リージョンのCREATEプレースホルダに移動します。

    注意:

    ページを保存して実行する場合、ランタイムのリストの最初のプロジェクトを表示すると、「次」ボタンのみが表示されます。技術的に、リストに前のエントリがないためです。

「名前」フィールドを必須にするには、次のステップを実行します。

  1. 「コンテンツ本体」リージョンで、P5_NAMEアイテムを選択します。
  2. Property Editorで、次のように操作します。
    1. 指定: タイプ - 「テキスト・フィールド」を選択します

Project Leadフィールドに値リストを追加するには、次のステップを実行します。

  1. P5_PROJECT_LEADアイテムを選択します。
  2. Property Editorで、次のように操作します。
    1. 指定: タイプ - 「選択リスト」を選択します
    2. LOV: タイプ - 「共有コンポーネント」を選択します
    3. LOV: LOV - TEAM MEMBERSを選択します
    4. LOV: 追加値の表示 - 「いいえ」を選択します
    5. LOV: NULL表示値 - 「- Select Project Lead -」と入力します

    注意:

    P5_PROJECT_LEADアイテムは、Team Membersレッスンの「共有コンポーネント」で定義した値リストを使用します。

7.7 静的なステータスの値リストの作成

現在、プロジェクトを更新するためには、「ステータス」フィールドにユーザーが手動で単語「割当て済」 「進行中」または「完了」のいずれかを入力する必要があります。このプロセスは低速で、ヒューマン・エラーが起こりやすいものです。このフィールドを、選択可能なオプションのリストに変換しましょう。

以前に、2つの表を問い合せて、「Project Lead」フィールドの数値IDを名前に置換する動的リスト(TEAM MEMBERS)を作成しました。ステータス情報は1つの表に収められるため、Projectステータス・リストにはより単純な静的リスト要素を使用できます。

可能なオプションのリストを作成して「Maintain Project」フォームの「ステータス」フィールドに適用します。

静的値のリストを定義するには、次のステップを実行します。

  1. 「レイアウト」または「レンダリング」ツリーで、P5_STATUSアイテムを選択します。
  2. Property Editorで、次のように操作します。
    1. 指定: タイプ - 「選択リスト」を選択します
    2. LOV: タイプ - 「静的値」を選択します
    3. LOV: 静的値 - 現在のコンテンツを削除して、「STATIC2:割当て済,進行中,完了」と入力します

      注意:

      STATIC2を指定すると、レコードはアルファベット順でなく入力順で表示されます。
    4. LOV: 追加値の表示 - 「いいえ」を選択します
    5. LOV: NULL値の表示 - 「いいえ」を選択します

プロジェクトが「完了」に更新される日付をユーザーに入力させるのが、適切な業務プラクティスです。

プロジェクトのステータスが「完了」に変更された場合に「完了日」を必須にするには、次のステップを実行します。

  1. P5_COMPLETED_DATEアイテムを選択します。
  2. Property Editorで、次のように操作します。
    1. 外観: テンプレート - 「必須」を選択します

アイテムが必須の場合はしばしば、プロパティ・エディタで「外観: テンプレート」を「必須」に、「検証: 必須の値」を「はい」に更新します。ただし、「必須の値」属性は変更しないでください。アイテムが必須であるのはステータスが「完了」のときのみで、他のステータスの場合は必須でないからです。

次に、後でカスタム検証を追加してこのビジネス・ルールに対応します。

7.8 動的アクションの作成

Oracle Application Expressでの動的アクションは、JavaScriptやAJAXを使用しないで宣言的にクライアント側動作を定義するために使用されます。そのかわり、Application Expressエンジンは、宣言に基づいて必要なコードを実装します。

P5_STATUSアイテムに動的アクションを追加して、「完了」に設定されたら「完了日」フィールドが表示されるようにします。

動的アクションを作成するには、次のステップを実行します。

  1. 「レンダリング」ツリーで、P5_STATUSアイテムを右クリックして「動的アクションの作成」を選択します。
    「動的アクション」フォルダが子としてP5_STATUSにデータを移入します。
  2. Property Editorで、次のように操作します。
    1. 指定: 名前 - 「Show Completed Date」と入力します
    2. クライアント側の条件: タイプ - 「アイテム = 値」を選択します
    3. クライアント側の条件: 値 - 「完了」と入力します

      重要:

      動的アクションが起動するためには、「時期: 値」属性の大文字使用とスペルが、データ入力値と正確に一致する必要があります。
  3. 「レンダリング」ツリーの「Show Completed Date」動的アクションの下で、「True」フォルダを展開して「表示」を選択します。
  4. Property Editorで、次のように操作します。
    1. 影響を受ける要素: アイテム - P5_COMPLETED_DATEを選択します

「表示」、「有効化」および「ツリーを開く」などの動的アクション・タイプの場合、対応する反対のアクションも含めることが重要です。それにより、WHEN条件がTrueと評価された場合に影響を受ける要素が一定の方向に設定され、WHEN条件がFalseと評価された場合に反対に設定されます。ここでは、P5_STATUSが「完了」と等しい場合にP5_COMPLETED_DATEアイテムが表示され、他のいずれかのステータスが選択された場合は非表示にされます。反対のアクションを追加するには、次のステップを実行します。

  1. 「レンダリング」ツリーで、「表示」を右クリックします。
  2. 「反対のアクションの作成」を選択します。

7.9 完了日の検証の追加

完了日の検証を追加して、ユーザーがステータスを「完了」に変更したら完了日の追加も必須になるようにします。

完了日の検証を追加するには、次のステップを実行します。

  1. ページ・デザイナの「Maintain Project」ページで、「レンダリング」ツリーの上にある「プロセス」タブ(循環している2つの矢印)を選択します。
  2. 「検証中」フォルダを右クリックして「検証の作成」を選択します。
  3. Property Editorで、次のように操作します。
    1. 指定: 名前 - 「Completed Date is Not Null」と入力します
    2. 検証: タイプ - 「アイテムはNULLではない」を選択します
    3. 検証: アイテム - P5_COMPLETED_DATEを選択します
    4. エラー: エラー・メッセージ - 「#LABEL# must have some value」と入力します
    5. エラー: 関連付けられたアイテム - P5_COMPLETED_DATEを選択します
    6. サーバー側の条件: タイプ - 「アイテム = 値」を選択します
    7. サーバー側の条件: アイテム - P5_STATUSを選択します
    8. サーバー側の条件: 値 - 「完了」と入力します

      注意:

      エラー・メッセージの#LABEL#テキストは、関連付けられたアイテムのラベルで代用されます。アイテム・ラベルが更新されると、エラー・メッセージも更新された値を反映します。これにより整合性が改善され、メッセージが確実に最新のラベル参照を持つようになります。

      ヒント:

      「エラー・メッセージ」フィールドをクリックした後、中央ペインの「ヘルプ」タブをクリックすると、エラー・メッセージの例を表示できます。他の属性のサンプル・エントリに対しても「ヘルプ」タブを表示することができます。

      注意:

      この条件は、「ステータス」アイテムが「完了」のときのみ検証が起動することを保証します。

完了日が先の日付でないことの検証を追加するには、次のステップを実行します。

  1. 「検証中」フォルダを右クリックして「検証の作成」を選択します。
  2. Property Editorで、次のように操作します。
    1. 指定: 名前 - 「Completed Date is not Forward Dated」と入力します
    2. 検証: PL/SQL式 - 「:P5_COMPLETED_DATE <= sysdate」と入力します
    3. エラー: エラー・メッセージ - 「#LABEL# cannot be forward dated」と入力します
    4. エラー: 関連付けられたアイテム - P5_COMPLETED_DATEを選択します
    5. サーバー側の条件: タイプ - 「アイテムはNULLではない」を選択します
    6. サーバー側の条件: アイテム - P5_COMPLETED_DATEを選択します
  3. 「保存」をクリックします。

7.10 異なるページへのサブ・リージョンのコピー

これまでのトピックで、「Maintain Team Member」フォームに対して「Audit Details」というサブ・リージョンを作成しました。そのリージョンに含まれる4つのアイテムは「Maintain Project」ページのものと同じで、まったく同じデータベース列に関連付けられているため、「Maintain Project」フォームにコピーすることで時間を多少節約できます。リージョンをコピーすると、以前に定義したテンプレートとテンプレート・オプションもコピーされます。

まず、「Maintain Project」フォームの4つの既存の監査詳細列を削除し、「Maintain Team Member」フォームから「Maintain Project」フォームに「Audit Details」サブ・リージョンをコピーして、コピー先に完全に合うように変更します。

注意:

監査列を削除しない場合、コピーされた「Audit Details」リージョンのアイテム名は一意の名前に変更され、すべてのページ・アイテムが確実に一意の名前を持つようにされます(たとえば、P5_CREATEDがその宛先にコピーされると、P5_CREATED_1に名前を変更されます)。この自動的な名称変更はページ処理を中断しませんが、この手法はお薦めしません。

「Maintain Project」フォームの4つの既存の監査アイテムを削除するには、次のステップを実行します。

  1. 「レイアウト」タブで、[Ctrl]キーを押したまま、次のアイテムをクリックして選択します。
    • P5_CREATED

    • P5_CREATED_BY

    • P5_UPDATED

    • P5_UPDATED_BY

  2. 次のいずれかを行います:
    • アイテムのいずれかを右クリックし、「削除」を選択します。
    • [Del]キーを押します。
  3. 「保存」をクリックします

ページ3からページ5に「Audit Details」サブ・リージョンをコピーするには、次のステップを実行します。

  1. ページ・デザイナで、ページ3に移動します。
  2. 「レンダリング」タブをクリックします。
  3. 「レンダリング」ツリーで、「Audit Details」サブ・リージョンを右クリックし、「他のページにコピー」を選択します。
  4. 「リージョンのコピー」ダイアログで、次のように操作します。
    1. コピー先ページ - 「5」と入力します
    2. リージョン・アイテムのコピー - 「はい」を選択します
  5. 「次へ」をクリックします。
  6. 「コピー」をクリックします。
  7. ページ5に戻って、「Audit Details」サブ・リージョンが、(サブ・リージョンでなく)リージョンとしてページ5のコンテンツ本体にコピーされたことを確認します。

「Maintain Project」フォームの「Audit Details」サブ・リージョンを更新するには、次のステップを実行します。

  1. ページ5の「レンダリング」ツリーまたは「レイアウト」で、「Audit Details」リージョンを選択します。
  2. Property Editorで、次のように操作します。
    1. レイアウト: 親リージョン - 1つ目の「Maintain Project」を選択します
  3. 「ページの保存と実行」をクリックします。
  4. それらの機能を試用してページの反応を確認します。
    • ステータスを変更して、選択したステータスに応じて完了日がどのように表示または非表示にされるかを確認します。

    • ステータスを「完了」にして、完了日なしでレコードを保存します。エラー・メッセージが表示されます。

    • 完了日を先の日付にしてレコードを保存します。エラー・メッセージが表示されます。

  5. 完了したら、開発者ツールバーの「アプリケーション####」をクリックしてアプリケーションのホームページに戻ります。

「Projects」レポートと「Maintain Project」フォームに実質的な変更を加えました。次のレッスンでは、フォームにさらにリージョンを追加して、ユーザーがプロジェクトの詳細をさらに表示して、プロジェクト管理を高度に制御できるようにします。

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