7 「Tasks」ページの開発
ページの作成ウィザードを使用して、エンド・ユーザーがプロジェクト・タスクを管理できるフォーム付きの新しいレポートを作成します。
このレッスンについて
このレッスンでは、新しいページのペア(フォーム付きレポート)をアプリケーションに追加します。
「フォーム付きレポート」(または「レポートとフォーム」)は、Webアプリケーションで最も一般的なページ構成です。エンド・ユーザーはレポートを表示し、フォーム・ページを使用して変更を送信します。
アプリケーションでは、(SAMPLE$PROJECT_TASKS
表に基づいて)関連付けられているプロジェクトで行う作業の詳細がタスク・レポートに表示されます。タスクの更新フォームを使用すると、タスクのステータスや期日などをユーザーが更新できます。
ページの作成ウィザードを使用してページのペアを生成します。レポート・ページから開始します。通常のタスク(共有コンポーネントのナビゲーション・メニューの更新、余分な列の非表示、レポートへの参照の適用)を繰り返して、レポートを開発します。
日付および数値の書式が設定された列に書式マスクを適用します。
decode SQL文を使用して、「はい/いいえ」列内の「Y」または「N」のすべてのインスタンスを「はい」または「いいえ」と表示するように変換します。
モーダル・フォーム・ページについては、ページ・デザイナを使用してフィールドを調整し、レポート内の対応するフィールドをミラーリングします。フォームの手順の多くは、レポートの手順とよく似ています。
ここから開始:
7 - Tasks.sql前のレッスンを完了していない場合、付録「作業領域へのアプリケーションのインストール」を使用して上述のSQLスクリプトを作業領域にインポートし、このレッスンから先に学習を続けられます。このスクリプトは、このチュートリアル付属の.zipファイルを解凍した場所の/filesサブディレクトリにあります。
7.1 対話モード・レポート・ページの作成
ページの作成ウィザードを使用して、フォーム・ページ付きの新しい対話モード・レポートをアプリケーションに追加します。SAMPLE$PROJECTS_TASKS
に基づいたものにします。
フォーム付きの対話モード・レポートをアプリケーションに追加するには、次のステップを実行します。
このページには、対話モード・レポート・リージョン「レポート1」が含まれています。
レポート・リージョンを削除するには、次のステップを実行します。
ランタイムに、ナビゲーション・メニュー(左側)の最後に空白のアイコンとともに「Tasks」アイテムが表示されることに注意してください。右にスクロールして、数値の識別子や監査詳細がレポートのいくつかの列に表示されることにも注目してください。
「Milestones」で実行したタスクと同じタスクを実行して「Tasks」ページを更新します。
7.2 ランタイムの「Tasks」ページの更新
実行時に一部のルーチン・タスクを完了して、「Tasks」ページの初期更新を実行します(「Milestones」ページに対して実行したタスクと同様ですか、「Tasks」では対話グリッドではなく、対話モード・レポートが使用されている点が異なります)。
-
共有コンポーネントのナビゲーション・メニューの更新
-
ランタイムのデフォルト・レポートの監査列の非表示
「共有コンポーネント」にナビゲーション・メニューを表示するには、次のステップを実行します。
「Tasks」リスト・エントリを更新するには、次のようにします。
ランタイムのデフォルト・レポートに監査列が表示されないようにします。
対話モード・レポートで複数の列を非表示にするには、次のステップを実行します。
レポート・レイアウトを新しいデフォルトとして保存するには、次のステップを実行します。
7.3 「Tasks」対話モード・レポートへの参照の適用
以前に作成した動的LOVは参照とも呼ばれます(問合せが別の表で値を参照するため)。
まず、共有コンポーネント内のPROJECT NAME動的LOVをコピーして、SAMPLE$PROJECT_MILESTONES
を問い合せるように構成します。
次に、PROJECT_ID
列およびMILESTONE_ID
列に対して2つの参照を適用します。
LOVをコピーするには、次のようにします。
「Project Name」動的LOVをPROJECT_ID
列に適用します(「Milestones」ページのプロセスと同様)。次に、「Milestone Name」動的LOVを「MILESTONE_ID」
に適用します。
「PROJECT NAME」
LOVを対話モード・レポートに適用するには、次のステップを実行します。
「MILESTONE NAME」
LOVを対話モード・レポートに適用するには、次のステップを実行します。
7.4 タスク・レポートの残りの列の更新
タスク対話モード・レポートの他の残りの列を、ページの作成ウィザードで生成された未加工の状態から更新します。
-
NAME
-
START_DATE
-
END_DATE
-
COST
-
IS_COMPLETE_YN
対話モード・レポートの列ヘッダーを更新するには、次のステップを実行します。
複数の列に日付書式マスクを適用するには、次のステップを実行します。
ドル金額書式マスクを列に適用するには、次のステップを実行します。
_YN
列を含む対話モード・レポートで(YまたはNのかわりに)「Yes」および「No」を表示するように構成するには、次のステップを実行します。
7.5 「Update Task」フォームの「Project」および「Milestone」フィールドの更新
ページの作成ウィザードでフォームを使用してタスク・レポートを作成したときに、フォームをモーダルにするように選択しました。(このチェック・ボックスの選択を解除したままにした場合は、ポップアップ・オーバーレイではなく別のページが実行時に表示されます。)実行時にモーダル・ページを表示するには、関連付けられたレポートからそのページを開く必要があります。
「Tasks」対話モード・レポートの編集アイコンのいずれかをクリックして、「Update Task」フォームを開きます。
実行時に対話モード・レポートのモーダル・フォームを表示するには、次のステップを実行します。
フォームは未加工の状態ですが、SAMPLE$PROJECT_TASKS
に基づいているため、開発プロセスはレポートの場合と非常によく似ています。
-
「Milestone」および「Project」の名前フィールドには、名前のかわりに数値の識別子が使用されています。
-
一部のフィールド(「プロジェクトID」など)は、わかりやすい名前にする必要があります。
-
一部のフィールドは、制限付きの選択リストや表示専用ではなく、編集可能なテキスト・フィールドです。
-
監査列をここに表示する必要はありません(これらはレポートに含まれています)。
最初に、PROJECT NAME
およびMILESTONE NAME
参照を適切なフィールドに適用します。
クイック編集を使用してページ・デザイナに戻るには、次のステップを実行します。
「Project」および「Milestone」のフィールドに参照を適用する手順は、次のとおりです。
7.6 「Update Task」フォームの残りのフィールドの更新
- 名前 -「名前」フィールドをテキスト・フィールドに変更し、ラベルを「Task」に変更します。
- 割当て先 - SQL問合せに基づく選択リストに変更します。
- 「開始日」および「終了日」- 書式マスクを「DD-MM-YYYY」に変更します。
- コスト - 位置合せと書式マスクを変更します($5,234.10)。
- 完了(Y/N) - ラベルおよびタイプをスイッチに変更します。
- 監査列(作成日、作成者、更新日、更新者)を非表示にします。
「P7_NAME」フィールドを更新する手順は、次のとおりです。
「P7_ASSIGNEE」フィールドを更新する手順は、次のとおりです。
「P7_START_DATE」および「P7_END_DATE」フィールドを更新する手順は、次のとおりです。
「P7_COST」フィールドを更新する手順は、次のとおりです。
「P7_IS_COMPLETE_YN」フィールドを更新する手順は、次のとおりです。
監査列のフィールドを非表示にするには、次のようにします。
フォーム付きの「Tasks」レポートが完成しました。次のレッスンに進みます。