Oracle® Application Expressアプリケーション・ビルダー・ユーザーズ・ガイド リリース4.2 for Oracle Database 12c B71338-03 |
|
前 |
次 |
アイテムは、HTMLフォームの一部です。アイテムは、テキスト・フィールド、テキスト領域、パスワード、選択リスト、チェック・ボックスなどを示します。アイテム属性は、ページ上のアイテムの表示に影響します。たとえば、これらの属性は、ラベルの表示位置、アイテムの大きさおよびアイテムの表示位置(前のアイテムの横または下)に影響します。
内容は次のとおりです。
アイテムには、ページ・アイテムとアプリケーション・アイテムの2つのタイプが存在します。ページ・アイテムはページ上に配置され、「表示のみ」、「ラベル」、「ラベル・テンプレート」などの関連付けられたユーザー・インタフェースのプロパティを持ちます。ページ・レベル・アイテムの例としてはチェック・ボックス、日付ピッカー、テキストとしての表示、「ファイル参照」フィールド、「ポップアップLOV」、「選択リスト」、または「テキスト領域」などがあります。アプリケーション・アイテムはページに関連付けられないため、ユーザー・インタフェースのプロパティを持ちません。アプリケーション・アイテムは、グローバル変数として使用できます。
ページ定義のページ・レベル・アイテムを作成および編集します。コンポーネント・ビューとツリー・ビューのどちらでも、アイテムは「ページ・レンダリング」セクションに表示されます。「ツリー・ビューとコンポーネント・ビューの切替え」を参照してください。
内容は次のとおりです。
ツリー・ビューでは、アイテムはツリー内のそのアイテムが含まれているリージョンの下に表示されます。
アイテムを編集または追加するには、右クリックしてコンテキスト・メニューを表示します。次に、コンテキスト・メニューから選択します。
複数のアイテムを一度に編集するには、アイテムを右クリックし、「すべて編集」を選択します。アイテム・ページが表示されます。「複数のアイテムの同時編集」を参照してください。
コンポーネント・ビューでは、アイテムは「アイテム」の下に表示されます。「アイテム」アイコンをクリックすると、他のすべてのサブセクションを一時的に非表示にできます。表示を元に戻すには、「すべての表示」をクリックします。「すべて表示」アイコンは、下向き三角形の形をしています。
セクション・タイトルの横には次のアイコンが表示されます。
すべて編集: 「すべて編集」アイコンは、鉛筆が置かれた小さいグリッドの形をしています。すべてのアイテムを一度に編集する場合に、このアイコンを使用します。「複数のアイテムの同時編集」を参照してください。
コピー: 「コピー」アイコンは、小さいページが2つ重なった形をしています。既存のアイテムをコピーする場合に、このアイコンを使用します。
作成: 「作成」アイコンは、プラス(+)記号が置かれた小さいページの形をしています。アイテムを作成する場合に、このアイコンを使用します。
アイテムはリージョンごとに編成されます。アイテムを編集するには、アイテム名をクリックします。
アイテムの作成ウィザードを実行して、ページ・レベル・アイテムを作成できます。
内容は次のとおりです。
アイテム名を指定する場合は、次の規則に注意してください。規則は次のとおりです。
アプリケーション内で一意である必要があります。
引用符を含めることはできません。
先頭は文字または数字である必要があります。その後は、文字、数字またはアンダースコア文字を使用できます。
大/小文字が区別されません。
30文字以内にする必要があります。30文字を超えるアイテムは、バインド変数構文を使用して参照できません。「バインド変数構文について」を参照してください。
基本ASCIIキャラクタ・セット以外の文字を含めることはできません。
アイテム名を指定する場合は、ページ番号を含めることをお薦めします。デフォルトでは、ウィザードによってページ・アイテム名の先頭にP
<page no>
_
<item name>
が付けられます(たとえば、P1_NAME
)。
ページ・レベル・アイテムを作成するには、ページ定義から「アイテムの作成」ウィザードを実行します。
ページ・レベル・アイテムを作成するには、次のステップを実行します。
該当するページ定義にナビゲートします。「ページ定義へのアクセス」を参照してください。
必要に応じて、HTMLリージョンを作成します。「リージョンの理解」を参照してください。
アイテムの作成ウィザードにアクセスするには、次のステップを実行します。
ツリー・ビュー: ページ・レンダリングで、アイテムを含めるリージョンを右クリックし、「ページ・アイテムの作成」を選択します。
コンポーネント・ビュー: 「アイテム」で、「作成」アイコンをクリックします。
アイテムの作成ウィザードが表示されます。
アイテム・タイプを選択します。「アイテム・タイプについて」を参照してください。
ポップアップLOV、カラー・ピッカーまたはポップアップ計算機付きテキスト・フィールドを作成する場合は、「ポップアップLOV」を選択し、特定のポップアップLOVタイプを選択します。
「表示位置および名前」で、次のステップを実行します。
アイテム名: アイテムの値の取得に使用する名前を入力します。「アイテムのネーミング規則について」を参照してください。
順序: このコンポーネントの順序を指定します。これによって評価の順序が決まります。
リージョン: このアイテムを含めるリージョンを選択します。
「次へ」をクリックします。
画面に表示されるステップに従います。
特定のフィールドの詳細を表示するには、フィールド・ラベルをクリックします。
ヘルプが使用可能な場合は、アイテムにカーソルをあわせると、カーソルが疑問符付きの矢印に変わります。「フィールドレベル・ヘルプについて」を参照してください。
静的値リストを作成する方法の1つに、アイテムのLOV定義の編集があります。このタイプのLOVは再使用できないことに注意してください。LOVをいつでも使用可能な共有コンポーネントとして作成することをお薦めします。
静的値リストを作成するには、次のステップを実行します。
該当するページ定義にナビゲートします。「ページ定義へのアクセス」を参照してください。
アイテムの属性ページにアクセスします。
ツリー・ビュー: アイテムを右クリックし、「編集」を選択します。
コンポーネント・ビュー: 「アイテム」で、アイテム名を選択します。
「ページ・アイテムの編集」ページが表示されます。
「名前」で、アイテムのレンダリング方法を指定します。「表示形式」から「選択リスト」を選択します。
「LOV」までスクロールします。
「LOV」で、静的値リストを次のように作成します。
「名前付きLOV」から、「名前付きLOVの選択」を選択します。
「LOV」定義で、次の構文を使用して定義を入力します。
STATIC[2]:Display Value[;Return Value],Display Value[;Return Value]
説明:
最初のキーワードはSTATIC
またはSTATIC2
になります。
STATIC
では、値が表示値のアルファベット順でソートされます。STATIC2
では、値がリストに入力された順序で表示されます。
セミコロンは各エントリで表示値と戻り値を区切ります。
Return Value
はオプションです。Return Value
が含まれない場合、戻り値は表示値と同じになります。
ページ上の特定のアイテムのヘルプを表示するには、アイテム・ラベルをクリックします。「フィールドレベル・ヘルプについて」を参照してください。
「変更の適用」をクリックします。
次に例として、3つの異なる静的値リストに対する構文を示します。
この例では、アルファベット順で表示される4つの値(Cow、Dog、Cat、Lion)が値リストにあります。各エントリの戻り値は表示値と同じです。
STATIC:Cow,Dog,Cat,Lion
カスケードLOVを作成すると、ページ上の1つのアイテムによって別のアイテムのLOVが決定されます。アプリケーション・ビルダーでは、選択リスト、シャトル、チェック・ボックス、ラジオ・グループ、ポップアップLOVおよびリスト・マネージャの各アイテム・タイプに対して、カスケードLOVがサポートされています。アイテム・タイプの詳細は、付録A「アイテム・タイプについて」を参照してください。
カスケードLOVは、2つのアイテムを作成することによって作成します。2つ目のアイテムに値を移入するには、アイテムの作成ウィザードを実行しているときか、またはアイテムの属性を編集することによって、カスケードLOV親アイテムを指定します。
次の例では、2つの関連する選択リストを作成する方法を示します。この場合、最初のリストの値が2つ目のリストに移入されます。
値のカスケード・リストを作成するには、次の手順を実行します。
最初のアイテムを作成し、そのアイテムにP1_DEPTNOという名前を付けます。
選択リスト・アイテムを作成します。「「ページ定義」でのページ・レベル・アイテムの作成」を参照してください。
「アイテム・タイプ」で、「選択リスト」を選択します。
「表示位置および名前」で、次のステップを実行します。
アイテム名: 次のように入力します。
P1_DEPTNO
残りのデフォルト値を受け入れ、「次へ」をクリックします。
「アイテム属性」で、次のステップを実行します。
ラベル: Department
と入力します。
残りのデフォルト値を受け入れ、「次へ」をクリックします。
「設定」で、デフォルト値を受け入れ、「次へ」をクリックします。
「LOV」で、次のようにします。
NULL値の表示: デフォルトの「はい」を受け入れます。
NULL表示値: 「- Select Department -」と入力します。
- Select Department -
「LOV定義」で、次のように入力します。
SELECT dname as d, deptno as r FROM dept ORDER BY dname
「次へ」をクリックします。
残りのデフォルト値を受け入れます。
「アイテムの作成」をクリックします。
P1_EMPNO
という名前の2つ目のアイテムを作成します。
2つ目のアイテムを作成します。「「ページ定義」でのページ・レベル・アイテムの作成」を参照してください。
「アイテム・タイプ」で、「選択リスト」を選択します。
「表示位置および名前」で、次のステップを実行します。
アイテム名: 次のように入力します。
P1_EMPNO
残りのデフォルト値を受け入れ、「次へ」をクリックします。
「アイテム属性」で、次のステップを実行します。
ラベル: Employee
と入力します。
残りのデフォルト値を受け入れ、「次へ」をクリックします。
「設定」で、デフォルト値を受け入れ、「次へ」をクリックします。
「LOV」で、次のようにします。
NULL値の表示: デフォルトの「はい」を受け入れます。
NULL表示値: 「- Select Department -」と入力します。
- Select Employee -
カスケードLOV親アイテム: 「P1_DEPTNO」を選択します。
「LOV定義」で、次のように入力します。
SELECT ename as d, empno as r FROM emp WHERE deptno = :P1_DEPTNO ORDER BY ename
「次へ」をクリックします。
残りのデフォルト値を受け入れます。
「アイテムの作成」をクリックします。
2つの選択リストが表示されます。「Department」選択リストで選択を行うと、「Employees」選択リストに表示される個人が決定されます。
複数のアイテムを同時に作成するには、次のステップを実行します。
該当するページ定義にナビゲートします。「ページ定義へのアクセス」を参照してください。
必要に応じて、HTMLリージョンを作成します。「リージョンの理解」を参照してください。
アイテムの作成ウィザードにアクセスするには、次のステップを実行します。
ツリー・ビュー: ページ・レンダリングで、アイテムを含めるリージョンを右クリックし、「ページ・アイテムの作成」を選択します。
コンポーネント・ビュー: 「アイテム」で、「作成」アイコンをクリックします。
アイテムの作成ウィザードが表示されます。
ページ下部の「表形式フォームを使用した複数アイテムの作成」リンクをクリックします。
複数のアイテムの作成ページで、次のように指定します。
リージョンにアイテムの作成: アイテムを含めるリージョンを選択します。
アイテム・テンプレート: アイテム・テンプレートを選択します。
各アイテムの「順序」、「名前」、「ラベル」、「タイプ」を入力し、アイテムがキャッシュする必要があるかどうかを指定します。
「複数のアイテムの作成」をクリックします。
ページ・アイテム属性を編集するか、または「すべて編集」アイコンか「アイテムの順序変更」アイコンを使用して、ページ・レベル・アイテムを編集できます。
内容は次のとおりです。
作成したページ・アイテムは、「ページ・アイテムの編集」ページで編集できます。
ページ・アイテム属性を編集するには、次のステップを実行します。
該当するページ定義にナビゲートします。「ページ定義へのアクセス」を参照してください。
アイテムの属性ページにアクセスします。
ツリー・ビュー: アイテムを右クリックし、「編集」を選択します。
コンポーネント・ビュー: 「アイテム」で、アイテム名を選択します。
「ページ・アイテムの編集」ページが表示されます。
ページ上の特定の属性の詳細を表示するには、属性ラベルをクリックします。「フィールドレベル・ヘルプについて」を参照してください。
「変更の適用」をクリックします。
アイテムのデフォルト値は、ページ・アイテムの編集ページの「デフォルト」の下にある属性を使用して定義します。デフォルト値は、アイテムの値がセッション・ステートから導出されない場合およびソース値がNULL
の場合に使用されます。
アイテムのデフォルト値を定義するには、次のステップを実行します。
アイテムを作成します。「ページ・レベル・アイテムの作成」を参照してください。
該当するページ定義にナビゲートします。「ページ定義へのアクセス」を参照してください。
アイテムの属性ページにアクセスします。
ツリー・ビュー: アイテムを右クリックし、「編集」を選択します。
コンポーネント・ビュー: 「アイテム」で、アイテム名を選択します。
「ページ・アイテムの編集」ページが表示されます。
「デフォルト」までスクロールします。
「デフォルト値」に値を入力します。
「デフォルト値のタイプ」で、次のいずれかを選択します。
セッション・ステートの置換機能付き静的テキスト
PL/SQLファンクション本体
PL/SQL式
「変更の適用」をクリックします。
「ページ・アイテムの編集」ページで、「セキュリティ」リージョンのアイテムのセキュリティを構成できます。
ページ・アイテムのセキュリティを構成するには、次のステップを実行します。
該当するページ定義にナビゲートします。「ページ定義へのアクセス」を参照してください。
アイテムの属性ページにアクセスします。
ツリー・ビュー: アイテムを右クリックし、「編集」を選択します。
コンポーネント・ビュー: 「アイテム」で、アイテム名を選択します。
「ページ・アイテムの編集」ページが表示されます。
「セキュリティ」までスクロールします。
表7-11に示す属性を構成します。
表7-11 「ページ・アイテムの編集」の「セキュリティ」
属性 | 説明 |
---|---|
認可スキームを選択します(この認可スキームがTRUEと評価された場合はこのコンポーネントがレンダリングされ、そうでない場合は処理されます)。 関連項目: 「認可を介したセキュリティの提供」 |
|
「セッション・ステート保護」レベルを選択します。オプションは次のとおりです。
「セッション・ステート保護」が有効な場合、これらの追加属性がアイテムに適用される場合があります。
関連項目: 「セッション・ステート保護の理解」 |
|
機密のセッション・ステートは、Application Expressセッション・ステート管理表に格納するときに暗号化することができます。このアイテムの暗号化されたセッション・ステートを保持するには、この値を「はい」に設定します。 最大4000バイトの長さの値を暗号化できます。4000バイトを超える値を暗号化しようとすると、エラー・メッセージが表示されます。 |
|
この属性は、いくつかのアイテム・タイプでのみ表示されます。クロスサイト・スクリプティング(XSS)攻撃を防ぐには、「はい」を選択します。ページ・アイテムまたはLOVのエントリに格納されているHTMLタグを実際にレンダリングする場合は、「いいえ」を選択します。 関連項目: 「クロスサイト・スクリプティング保護の理解」 |
|
セッション・ステートに保存できる文字を制限するには、この属性を使用します。選択された文字制限に一致しないデータをユーザーが保存しようとすると、Oracle Application Expressからエラー・メッセージが表示されます。使用可能なオプションは次のとおりです。
関連項目: 「クロスサイト・スクリプティング保護の理解」 |
アイテム・タイプでクイック選択がサポートされている場合は、「クイック選択」属性を使用して、特定のアイテムの下に表示される選択項目を最大10個定義できます。クイック選択をクリックすると、アイテムの値が設定されます。次の例は、5%、10%、15%および20%のクイック選択を示しています。
クイック選択を作成するには、次のステップを実行します。
アイテムを作成します。「ページ・レベル・アイテムの作成」を参照してください。
該当するページ定義にナビゲートします。「ページ定義へのアクセス」を参照してください。
アイテムの属性ページにアクセスします。
ツリー・ビュー: アイテムを右クリックし、「編集」を選択します。
コンポーネント・ビュー: 「アイテム」で、アイテム名を選択します。
「ページ・アイテムの編集」ページが表示されます。
「クイック選択」までスクロールします。
「クリック選択の表示」で、「はい」を選択します。
各クイック選択のラベルと値を定義します。
「ラベル」で、各選択項目に表示するラベルを入力します。
「値」で、対応する値を入力します。
「リンク属性」で、クイック選択の追加属性を入力します。
「変更の適用」をクリックします。
アイテム属性でページ上のアイテムの表示方法を制御します。ページ・アイテム・ページを使用して順序、フィールド・ラベル、テンプレート、リージョン、およびページ上のすべてのアイテムの全体的な配置を編集できます。次に続くセクションでは、これらのページを使用したアイテムの編集方法について説明します。
内容は次のとおりです。
複数のアイテムを同時に編集するには、次のステップを実行します。
該当するページ定義にナビゲートします。「ページ定義へのアクセス」を参照してください。
ページ・アイテム・ページにアクセスします。
ツリー・ビュー: 「アイテム」を右クリックし、「すべて編集」を選択します。
コンポーネント・ビュー: 「アイテム」で、「すべて編集」アイコンをクリックします。「すべて編集」アイコンは、鉛筆が置かれた小さいページの形をしています。
「アイテム」タブが表示されます。
ページ上部にナビゲーション・バーが表示されます。「アイテム名」フィールドを使用して、特定の項目を検索します。他のページにナビゲートするには、「ページ」フィールドを使用します。表示を特定のリージョンのアイテムのみに限定するには、「リージョン」リストから選択します。
ページ・アイテム・ページには、編集可能なレポートのアイテムが表示されます。表7-12はそれぞれの編集可能な属性の説明です。
表 7-12 ページ・アイテム上の編集可能な属性
属性 | 説明 |
---|---|
順序 |
このコンポーネントの表示順序を指定します。これによって評価の順序が決まります。 |
プロンプト |
HTMLフォーム要素のラベルを入力します。HTML、JavaScriptおよびショートカットを含めることができます。置換文字列#CURRENT_ITEM_NAME#を使用して、このラベルに関連するアイテムの名前を取得することもできます。 |
フィールド・テンプレート |
ラベル・テンプレートを決定します。ラベル・テンプレートを使用すると、中心部のユーザー・インタフェースの属性の定義、および多くのラベル間での定義の共有ができます。 |
リージョン |
アイテムを表示するリージョンを定義します。すべてのアイテムは、リージョンに存在します。 |
新しい行 |
前のアイテムと同じ行に表示するかどうか、または次の行に表示するかどうかを決定します。アイテムはHTML表に配置されます。表の新しい行の第1フィールドとしてアイテムを表示する場合は、「はい」を選択します。 |
新規フィールド |
「はい」に設定すると、このアイテムは固有のHTML表セル(デフォルト)にレンダリングされます。「いいえ」に設定すると、アイテムは前のページ・アイテムと同じHTML表セルにレンダリングされます。 同じ表セルにレンダリングする方が、前のページ・アイテムとの関連性が高く見えます。 |
幅 |
このアイテムに対して表示されるフォーム要素の長さを(文字で)指定します。 |
高さ |
テキスト領域および複数の選択リストのための高さを(列で)指定します。 |
列スパン |
アイテムは、HTML表に配置されます。このプロパティは表セルの |
行スパン |
アイテムは、HTML表に配置されます。この属性はアイテムを表示する表セルの |
PostElement |
テキストまたはHTMLコードがページ・アイテム要素の直後にレンダリングされます。 |
リージョン・アイテムの再割当てページを使用してアイテムを新しいリージョンに割り当てます。
リージョン・アイテムの再割当てページで新しいリージョンにアイテムを割り当てるには、次のステップを実行します。
該当するページ定義にナビゲートします。「ページ定義へのアクセス」を参照してください。
ページ・アイテム・ページにアクセスします。
ツリー・ビュー: 「アイテム」を右クリックし、「すべて編集」を選択します。
コンポーネント・ビュー: 「アイテム」で、「すべて編集」アイコンをクリックします。「すべて編集」アイコンは、鉛筆が置かれた小さいグリッドの形をしています。
ページ・アイテム・ページが表示されます。
「リージョン・アイテムの再割当て」をクリックします。
リージョン・アイテムの再割当てページが表示されます。
ページ上部のナビゲーション・バーを使用して、表示を縮小または拡大します。使用可能なオプションは次のとおりです。
ページ: 新しい番号を選択または入力して「実行」をクリックします。
リージョンの表示: 表示するリージョンを選択して「実行」をクリックします。
アイテムを他のリージョンに再割当てするには、次のステップを実行します。
再割当てするアイテムを選択します。
「リージョンへの割当て」から、新しいリージョンを選択します。
「再割当て」をクリックします。
複数のアイテムを一度に削除するには、複数のアイテムの削除ページを使用します。
複数のアイテムを削除するには、次のステップを実行します。
該当するページ定義にナビゲートします。「ページ定義へのアクセス」を参照してください。
ページ・アイテム・ページにアクセスします。
ツリー・ビュー: アイテムを右クリックし、「すべて編集」を選択します。
コンポーネント・ビュー: 「アイテム」で、「すべて編集」アイコンをクリックします。「すべて編集」アイコンは、鉛筆が置かれた小さいグリッドの形をしています。
ページ・アイテム・ページが表示されます。
「複数のアイテムの削除」をクリックします。
複数のアイテムの削除ページが表示されます。
ページ上部のナビゲーション・バーを使用して、表示を縮小または拡大します。新しいページにナビゲートするには、「ページ」フィールドを使用します。新しい番号を選択または入力して「実行」をクリックします。
アイテムを削除するには、次のステップを実行します。
アイテムを選択します。
「アイテムの削除」をクリックします。
ユーティリティ・ページには、グリッド編集ページが含まれ、選択したアプリケーション内の複数のページのアイテムを編集できるユーティリティが表示されます。
ユーティリティ・ページにアクセスするには、次のステップを実行します。
該当するページ定義にナビゲートします。「ページ定義へのアクセス」を参照してください。
ページ・アイテム・ページにアクセスします。
ツリー・ビュー: アイテムを右クリックし、「すべて編集」を選択します。
コンポーネント・ビュー: 「アイテム」で、「すべて編集」アイコンをクリックします。「すべて編集」アイコンは、鉛筆が置かれた小さいグリッドの形をしています。
ページ・アイテム・ページが表示されます。
次のいずれかのレポートを選択します。
リージョン、計算、プロセス、検証およびブランチのセッション・ステートに格納されたアイテム値を参照できます。表 7-13に、アイテム値を参照するためにサポートされている構文を示します。
表7-13アイテム値を参照するための構文
タイプ | 構文 | 説明 |
---|---|---|
SQL |
|
名前が30バイト以下のアイテム用の標準のバインド変数構文。この構文は、SQL問合せおよびPL/SQLコード内の参照用に使用します。 |
PL/SQL |
|
この構文をSQL文で使用しないでください。使用すると、パフォーマンスの問題が発生する場合があります。 関連項目: Oracle Application Express APIリファレンス |
PL/SQL |
|
この構文をSQL文で使用しないでください。使用すると、パフォーマンスの問題が発生する場合があります。 関連項目: Oracle Application Express APIリファレンス |
静的テキスト(完全置換) |
|
静的テキスト。完全置換です。 注意: 正確な置換構文をSQLまたはPL/SQLコードで使用しないでください。使用すると、SQLインジェクションに対して脆弱になる可能性があります。 |
次のいずれかの方法を使用すると、アプリケーションのアイテム値を設定できます。
ページ・レベル・アイテムの場合、ソース属性を使用してアイテム値を設定します。
「ページ定義」で、アイテム名を選択して「ページ・アイテムの編集」ページを表示します。「ソース」までスクロールして、該当するフィールドを編集します。
次の構文を使用して、PL/SQLまたはプロセスに基づく任意のリージョンのアイテム値を設定することもできます。
BEGIN :MY_ITEM := 'new value'; END;
f?p
構文を使用してURL参照の値を渡します。次に例を示します。
f?p=100:101:10636547268728380919::NO::MY_ITEM:ABC
計算を使用して値を設定します。計算は、アイテム値を設定するように設計されています。次に例を示します。
TO_CHAR(SYSDATE,'Day DD Month, YYYY');
PL/SQL APIを使用して、PL/SQLコンテキストにアイテム値を設定します。次に例を示します。
APEX_UTIL.SET_SESSION_STATE('MY_ITEM',SYSDATE);
「ページ・アイテムの編集」ページで属性を編集することによって、アイテムを条件付きまたは読取り専用で表示できます。
内容は次のとおりです。
条件付きアイテムを表示するには、次のステップを実行します。
アイテムを作成します。「ページ・レベル・アイテムの作成」を参照してください。
該当するページ定義にナビゲートします。「ページ定義へのアクセス」を参照してください。
アイテムの属性ページにアクセスします。
ツリー・ビュー: アイテムを右クリックし、「編集」を選択します。
コンポーネント・ビュー: 「アイテム」で、アイテム名を選択します。
「ページ・アイテムの編集」ページが表示されます。
「条件」までスクロールします。
「条件タイプ」リストから選択します。
表示されるフィールドに式を入力します。
「変更の適用」をクリックします。
読取り専用アイテムを表示するには、次のステップを実行します。
アイテムを作成します。「ページ・レベル・アイテムの作成」を参照してください。
該当するページ定義にナビゲートします。「ページ定義へのアクセス」を参照してください。
アイテムの属性ページにアクセスします。
ツリー・ビュー: アイテムを右クリックし、「編集」を選択します。
コンポーネント・ビュー: 「アイテム」で、アイテム名を選択します。
「ページ・アイテムの編集」ページが表示されます。
「読取り専用」までスクロールします。「読取り専用」で、次のステップを実行します。
「読取り専用条件タイプ」から選択します。
アイテムのタイプに応じ、読取り専用アイテムはプレイン・テキストまたは入力不可フィールドとしてレンダリングされます。条件を選択しない場合、アイテムは通常どおりレンダリングされます。
ヒント: 条件タイプを「なし」に設定すると、アイテムは常に入力可能なフィールドとしてレンダリングされます。この設定では、リージョンまたはページ・レベルで定義した読取り専用条件設定がすべて上書きされます。 |
表示されるフィールドに式を入力します。
「読取り専用の要素表のセル属性」で、HTML表セル・タグ<td>
に含める属性を入力します。このタグには、読取り専用モードで表示される際のアイテムも含まれます。次に例を示します。
bgcolor="#FF0000"
ヒント: 読取り専用の要素表のセル属性は、アプリケーションでリージョンおよびページ・アイテムのレイアウトにHTML表を使用する場合のみ、表示されます。 |
「変更の適用」をクリックします。
複数選択アイテムは複数選択リストのフォーム要素としてレンダリングされ、複数選択リストまたはシャトル・アイテム・タイプのいずれかになります。送信されると、選択した値は単一のコロンで区切られた文字列に戻されます。このフォーマットの値は3通りの方法で処理できます。
INSTR
ファンクションの使用
APEX_UTIL.STRING_TO_TABLE
ファンクションの使用
シャトルの作成
内容は次のとおりです。
たとえば、部門の複数選択リストから選択した部門によって限定されているEMP
表およびDEPT
表に関するレポートがあるとします。まず、次の問合せを使用して、複数選択アイテム「P1_DEPTNO」を作成します。
SELECT dname, deptno FROM dept
次に、次のように入力して、選択した部門内の従業員のみを戻します。
SELECT ename, job, sal, comm, dname FROM emp e, dept d WHERE d.deptno = e.deptno AND instr(':'||:P1_DEPTNO||':',':'||e.deptno||':') > 0
次に、複数選択アイテム「P1_DEPTNO」で選択した値をプログラムで処理するとします。このタスクを行うには、APEX_UTIL.STRING_TO_TABLE
ファンクションを使用して、コロンで区切られた文字列をPL/SQL配列に変換します。次の例では、選択した部門を問合せの日付が含まれている監査表に挿入する方法を示します。
DECLARE l_selected APEX_APPLICATION_GLOBAL.VC_ARR2; BEGIN -- -- Convert the colon separated string of values into -- a PL/SQL array l_selected := APEX_UTIL.STRING_TO_TABLE(:P1_DEPTNO); -- -- Loop over array to insert department numbers and sysdate -- FOR i IN 1..l_selected.count LOOP INSERT INTO report_audit_table (report_date, selected_department) VALUES (sysdate, l_selected(i)); END LOOP; END;
関連項目: Oracle Application Express APIリファレンスの「STRING_TO_TABLEファンクション」 |
DEPT
表に、特定の部門に割り当てられている従業員が表示されるフォームがあるとします。部門への従業員の割当てを容易にするには、従業員をアルファベット順にリストするシャトル・アイテムを作成します。
シャトル・アイテムを作成するには、次のステップを実行します。
「レポート付きの表のフォーム」を使用して、DEPTに新しいフォーム・ページを作成します。
「ワークスペース」ホームページで、「アプリケーション・ビルダー」アイコンをクリックします。
アプリケーションを選択します。
「ページの作成」をクリックします。
「ページ・タイプ」で、「フォーム」を選択します。
「フォーム」で、「レポート付きの表のフォーム」を選択します。
「レポート・ページ」で、デフォルト値を受け入れて「次へ」をクリックします。
「表/ビューの名前」で、「DEPT」を選択します。
残りのデフォルト値を受け入れ、画面に表示されるステップに従います。特定のフィールドの詳細を表示するには、アイテム・ラベルをクリックします。
P2_EMP_LISTという名前のシャトルとフォーム・ページを作成します。
フォーム・ページのページ定義に移動します。
フォームが含まれるリージョンを右クリックし、「ページ・アイテムの作成」を選択します。
「アイテム・タイプ」で、「シャトル」を選択します。
「アイテム名」で、P2_EMP_LIST
と入力し、「次へ」をクリックします。
ヒント: この例では、アイテム名P2_EMP_LIST のP2 はアイテムがページ2に存在することを示しています。 |
「アイテム属性」で、デフォルト値を受け入れ、「次へ」をクリックします。
「設定」で、デフォルト値を受け入れ、「次へ」をクリックします。
「LOV」で、次のようにします。
LOV問合せ: 次のように入力します。
SELECT ename, empno FROM emp ORDER BY 1
「次へ」をクリックします。
「ソース」で、次のステップを実行します。
ソース・タイプ: 「SQL問合せ(コロン区切りの値を返す)」を選択します。
アイテム・ソース値: 次のように入力します。
SELECT empno FROM emp WHERE deptno = :P2_DEPTNO ORDER BY ename
「アイテムの作成」をクリックします。
「ページの実行」アイコンをクリックしてページを実行します。