13.1.4 ページ・アイテムの編集

ページ上のアイテムの表示方法を制御するには、アイテム属性を編集します。

たとえば、「タイプ」属性によって、アイテムをテキスト・フィールド、テキスト領域、チェック・ボックス、日付ピッカー、スイッチ、非表示アイテムなどとして表示するかどうかが決定されます。アイテムのタイプに応じて、アイテム属性で、ラベルの表示位置、アイテムの大きさおよびアイテムの表示位置(前のアイテムの横または下)を決定できます。また、アイテム属性は、アイテムのデフォルト値、アイテムが条件付きで表示されるかどうか、アイテムが読取り専用かどうかなどのアイテムの動作を制御します。

13.1.4.1 プロパティ・エディタでのページ・アイテム属性の編集

プロパティ・エディタでページ・アイテム属性を編集する方法について学習します。

プロパティ・エディタでアイテム属性を編集するには:

  1. ページ・デザイナでページを表示します。
    1. ワークスペースのホームページで、「アプリケーション・ビルダー」アイコンをクリックします。
    2. アプリケーションを選択します。
    3. ページを選択します。
    ページ・デザイナが表示されます。
  2. 「レンダリング」タブまたは「レイアウト」タブのいずれかで、編集するアイテムを選択します。

    プロパティ・エディタにページ・アイテム属性が表示されます。属性は、グループに編成されます。グループまたは属性を検索するには、「フィルタ・プロパティ」フィールドにキーワードを入力します。プロパティ・エディタにグループまたは属性が表示されます。または、「グループに移動」をクリックしてグループを選択できます。

  3. プロパティ・エディタで該当する属性を編集します。

    ページが保存されるまで、編集した属性の属性名の左側に緑色のマーカーが表示されます。

    属性についてさらに学習するには、プロパティ・エディタで属性を選択し、中央ペインで「ヘルプ」タブをクリックして、参照してください。

  4. 変更を保存するには、「保存」をクリックします。ページを保存して実行するには、「ページの保存と実行」をクリックします。

13.1.4.2 ページ・アイテムの配置

ページ・アイテムをページ・レベルまたはリージョン・レベルで配置します。

ページ・アイテムをページ・レベルで配置するには:
  1. ページ・デザイナでページ・アイテムを選択します。
  2. プロパティ・エディタで、「レイアウト」「リージョン」属性を空のままにします。
  3. ページの特定の場所にページ・アイテムを配置するには、「レイアウト」「位置」属性を構成します。

ページ・アイテムをリージョン・レベルで配置するには:

  1. ページ・デザイナでページ・アイテムを選択します。
  2. プロパティ・エディタで、「レイアウト」「リージョン」属性を編集し、ページ・アイテムが属するリージョンを選択します。
  3. リージョン内の「レイアウト」「位置」を構成して、ページ・アイテムをリージョン内の特定の場所に配置します。

13.1.4.3 ページ・アイテムのデフォルト値の定義

「デフォルト」属性を使用してアイテムのデフォルト値を定義します。

デフォルト値は、アイテムの値がセッション・ステートから導出されない場合およびソース値がNULLの場合に使用されます。

アイテムのデフォルト値を定義するには:

  1. ページ・デザイナでページを表示します。
    1. ワークスペースのホームページで、「アプリケーション・ビルダー」アイコンをクリックします。
    2. アプリケーションを選択します。
    3. ページを選択します。
    ページ・デザイナが表示されます。
  2. 「レンダリング」タブまたは「レイアウト」タブのいずれかで、編集するアイテムを選択します。

    プロパティ・エディタにページ・アイテム属性が表示されます。属性は、グループに編成されます。グループまたは属性を検索するには、「フィルタ・プロパティ」フィールドにキーワードを入力します。プロパティ・エディタにグループまたは属性が表示されます。または、「グループに移動」をクリックしてグループを選択できます。

  3. プロパティ・エディタで、「デフォルト」グループを見つけます。
  4. デフォルト、タイプ - このアイテムのデフォルトの値タイプを選択します。オプションは次のとおりです。
    • 静的 - 「静的」値に入力された値に設定します。
    • アイテム - 選択されたアイテムのセッション・ステートから返された値に設定します。
    • SQL問合せ - 入力されたSQL問合せから返された値に設定します。
    • コロンで区切られたリストを戻すSQL問合せ - 入力されたSQL問合せから返された、値がコロンで区切られたリストに設定します。列をチェック・ボックス、ラジオ・グループまたはシャトルとして表示する場合は、コロンで区切られたリストが必要です。
    • PL/SQL式 - 入力されたPL/SQL式から返された値に設定します。
    • PL/SQLファンクション本体- 入力されたPL/SQLファンクション本体から返された値に設定します。
    • 順序 - 入力された順序から返された値に設定します。
  5. 変更を保存するには、「保存」をクリックします。ページを保存して実行するには、「ページの保存と実行」をクリックします。

13.1.4.4 ページ・アイテムのセキュリティの構成

プロパティ・エディタでページ・アイテムの「セキュリティ」属性を編集する方法について学習します。

ページ・アイテムのセキュリティを構成するには:

  1. ページ・デザイナでページを表示します。
    1. ワークスペースのホームページで、「アプリケーション・ビルダー」アイコンをクリックします。
    2. アプリケーションを選択します。
    3. ページを選択します。
    ページ・デザイナが表示されます。
  2. 「レンダリング」タブまたは「レイアウト」タブのいずれかで、編集するアイテムを選択します。
    プロパティ・エディタにアイテム属性が表示されます。属性は、グループに編成されます。グループまたは属性を検索するには、「フィルタ・プロパティ」フィールドにキーワードを入力するか、「グループに移動」をクリックして、グループを選択します。
  3. 「セキュリティ」で、次の操作を実行します:
    • セキュリティ、認可スキーム - このコンポーネントを制御する認可スキームを選択します。この認可は、このコンポーネントをレンダリングまたは処理するためにTRUEと評価される必要があります。

      関連項目: 認可を介したセキュリティの提供

    • セキュリティ、セッション・ステート保護レベル - セッション・ステート保護レベルを選択します。オプションは次のとおりです。

      • 制限なし - URLまたはフォームでアイテムを渡して、アイテムを設定できます。URLにチェックサムは必要ありません。

      • チェックサムが必要 - アプリケーション・レベル: ワークスペースおよびアプリケーション固有のチェックサムが含まれるURLでアイテムを渡して、アイテムを設定できます。

      • チェックサムが必要 - ユーザー・レベル - ワークスペース、アプリケーションおよびユーザー固有のチェックサムを含むURLでアイテムを渡して、アイテムを設定できます。

      • チェックサムが必要 - セッション・レベル: セッション固有のチェックサムが含まれるURLでアイテムを渡して、アイテムを設定できます。

      • 制限付き - ブラウザから設定できない: URLまたはPOSTDATAを使用してアイテムを変更できません。内部プロセス、計算などに設定できるアイテムの値を制限する場合は、このオプションを使用します。この属性は、データ・エントリ・アイテムとして使用されないアイテムのみに適用され、セッション・ステート保護が無効になっていても常に監視されます。この属性は、次の表示形式タイプのページまたはアプリケーション・アイテムに使用します

        • 表示のみ(状態の保存=なし)
        • テキスト・フィールド(無効、状態を保存しない)

      関連項目: URL改ざんの防止

    • セキュリティ、セッション・ステートに暗号化された値を保存 - セッション・ステートに格納する際、このアイテムを暗号化するかどうかを指定します。アイテムのコンテンツに機密データが含まれる場合、Oracle APEXセッション・ステート管理表に格納する際に値を暗号化する必要があります。そうしないと、Oracle APEXメタデータ表を読み取る権限を持つユーザーが問合せを記述し、この機密データを抽出する可能性があります。

      関連項目: クロスサイト・スクリプティング保護の理解

    • セキュリティ、制限付き文字 - セッション・ステートに保存できる文字を制限する方法を選択します。選択した文字制限に準拠しないデータをユーザーが保存しようとすると、APEXからエラー・メッセージが表示されます。文字を制限することはアプリケーションのセキュリティを強化し、クロスサイト・スクリプティング(XSS)攻撃の対策となります。

      使用可能なオプションは次のとおりです。

      • すべての文字を保存できます。 - 制限は適用されません。

      • a-Z、0-9と空白の許可リスト - 文字a-z、A-Z、0-9および空白のみが許可されます。

      • ブロックリストHTMLコマンド文字(<>") - 予約済HTML文字は保存できません

      • ブロックリスト&<>"/;,*|=%および-- - 次の文字は保存できません

        &、<、>、"、/、;、","、*、|、=、%および"--" (PL/SQLコメント)

      • ブロックリスト&<>"/;,*|=%または--と改行 - 次の文字は保存できません

        &、<、>、"、/、;、","、*、|、=、%、"--"および改行文字

  4. 変更を保存するには、「保存」をクリックします。ページを保存して実行するには、「ページの保存と実行」をクリックします。

13.1.4.5 クイック選択を使用するように既存のアイテムを変更する

ページ・デザイナで「クイック選択」属性を編集して、クイック選択リストを使用するようにアイテムを変更します。

クイック選択では、ユーザーは、テキストを入力したり、使用可能なオプションのリストから選択するかわりに、事前定義された値をワンクリックで選択できます。アイテム・タイプでクイック選択がサポートされている場合は、「クイック選択」属性を使用して、特定のアイテムの下に表示される選択項目を最大10個定義できます。クイック選択をクリックすると、アイテムの値が設定されます。次の例は、5%、10%、15%および20%のクイック選択を示しています。

クイック選択を作成するには:

  1. ページ・デザイナでページを表示します。
    1. ワークスペースのホームページで、「アプリケーション・ビルダー」アイコンをクリックします。
    2. アプリケーションを選択します。
    3. ページを選択します。
    ページ・デザイナが表示されます。
  2. 「レンダリング」タブまたは「レイアウト」タブのいずれかで、編集するアイテムを選択します。
    プロパティ・エディタにアイテム属性が表示されます。属性は、グループに編成されます。グループまたは属性を検索するには、「フィルタ・プロパティ」フィールドにキーワードを入力するか、「グループに移動」をクリックして、グループを選択します。
  3. 「クイック選択」で、次の操作を実行します:
    1. クイック選択、クイック選択の表示 - 「オン」を選択します。
    2. クイック選択、リンク属性 - 各クイック選択リンクの表示に関連付けるHTML属性を入力します
    3. クイック選択、ラベル - 各クイック選択のラベルを入力します。このラベルは、アプリケーションのエンド・ユーザーに表示されるテキストです。
    4. クイック選択、値 - 各クイック選択に関連付ける値を入力します。ユーザーがクイック選択をクリックすると、この値で既存のアイテム値が置換されます。
    5. すべてのクイック選択ラベルおよび値が定義されるまで、前の2つのステップを繰り返します。
  4. 変更を保存するには、「保存」をクリックします。ページを保存して実行するには、「ページの保存と実行」をクリックします。

13.1.4.6 「複数の値」属性の構成

「複数の値」属性を使用して、リストの格納方法を制御したり、カスタム・セパレータを定義します。

次のアイテム・タイプに対して「複数の値」属性を構成できます: チェック・ボックス・グループ、コンボボックス、リスト・マネージャ、ポップアップLOV、選択リスト、複数選択およびシャトル。これらの属性の構成は、チェック・ボックス・グループ、リスト・マネージャ、複数選択およびシャトルで必要です。

これらの

「複数の値」グループには、2つの属性が含まれます。「タイプ」は、ソース列に複数の値が含まれているかどうか、およびそれらのエンコード方法を決定します。「セパレータ」では、相互に値を区切る文字を定義できます。

「複数の値」属性を編集するには:

  1. ページ・デザイナでページを表示します。
    1. ワークスペースのホームページで、「アプリケーション・ビルダー」アイコンをクリックします。
    2. アプリケーションを選択します。
    3. ページを選択します。
    ページ・デザイナが表示されます。
  2. 「レンダリング」タブまたは「レイアウト」タブのいずれかで、編集するアイテムを選択します。
    プロパティ・エディタにアイテム属性が表示されます。属性は、グループに編成されます。グループまたは属性を検索するには、「フィルタ・プロパティ」フィールドにキーワードを入力するか、「グループに移動」をクリックして、グループを選択します。
  3. 「複数の値」の下:
    1. 複数の値、タイプ - ソース列に複数の値が含まれているかどうか、およびそれらのエンコード方法を決定します。

      オプションは次のとおりです。

      • いいえ - 列に複数の値が含まれていません。

      • 区切りリスト - 列には、区切りリストとして値が含まれます。次に例を示します。

        APEX,SQL,PL/SQL

        処理にAPEX_STRING.SPLITファンクションを使用します。たとえば:

        select column_value from apex_string.split ( :ITEM_NAME, ',' );
        
      • JSON配列 - ソース列にはスカラー値のJSON配列が含まれます。列に無効なJSON構文が含まれている場合は、APEXによって次のようなエラー・メッセージが生成されます:

        ["APEX", "SQL", "PL/SQL"]
        

        処理にJSON_TABLE SQL関数を使用します。たとえば:

        select
            element
        from
            json_table ( :ITEM_NAME, '$[*]'
                columns
                    element varchar2 path '$'
            );
        
    2. 複数の値、セパレータ - 相互に値を区切る文字を指定します。例を表示するには、ページ・デザイナのヘルプを参照してください。

      ノート:

      二重引用符(")、バックスラッシュ(/)文字または\xxxx形式の文字は、値セパレータとしてサポートされていません。
  4. 変更を保存するには、「保存」をクリックします。

13.1.4.7 条件付きページ・アイテムの表示

「サーバー側の条件」属性を編集して、アイテムを条件付きで表示します。

条件付きアイテムを表示するには:

  1. ページ・デザイナでページを表示します。
    1. ワークスペースのホームページで、「アプリケーション・ビルダー」アイコンをクリックします。
    2. アプリケーションを選択します。
    3. ページを選択します。
    ページ・デザイナが表示されます。
  2. 「レンダリング」タブまたは「レイアウト」タブのいずれかで、編集するアイテムを選択します。

    プロパティ・エディタにページ・アイテム属性が表示されます。属性は、グループに編成されます。

    グループまたは属性を検索するには、「フィルタ」フィールドにキーワードを入力します。プロパティ・エディタにグループまたは属性が表示されます。または、「グループに移動」をクリックしてグループを選択できます。

  3. サーバー側の条件、タイプ - このコンポーネントをレンダリングまたは処理するために満たす必要がある条件タイプを選択します。

    属性についてさらに学習するには、プロパティ・エディタで属性を選択し、中央ペインで「ヘルプ」タブをクリックして、参照してください。

  4. 変更を保存するには、「保存」をクリックします。ページを保存して実行するには、「ページの保存と実行」をクリックします。

13.1.4.8 読取り専用ページ・アイテムの表示

ページ・デザイナで「読取り専用」属性を編集して、読取り専用アイテムを表示します。

読取り専用アイテムを表示するには:

  1. ページ・デザイナでページを表示します。
    1. ワークスペースのホームページで、「アプリケーション・ビルダー」アイコンをクリックします。
    2. アプリケーションを選択します。
    3. ページを選択します。
    ページ・デザイナが表示されます。
  2. 「レンダリング」タブまたは「レイアウト」タブのいずれかで、編集するアイテムを選択します。
    プロパティ・エディタに、アイテムの属性が表示されます。属性は、グループに編成されます。グループまたは属性を検索するには、「フィルタ・プロパティ」フィールドにキーワードを入力するか、「グループに移動」をクリックして、グループを選択します。
  3. 「読取り専用」で、次の操作を実行します:
    1. 読取り専用、タイプ - このコンポーネントを読取り専用としてレンダリングするために満たす必要がある条件タイプを選択します。

      条件を選択しない場合、アイテムは通常どおりレンダリングされます。読取り専用アイテムは、「表示のみ」アイテムと同じ設定でレンダリングされます。

      アイテムを常に入力可能なフィールドとしてレンダリングするには、条件タイプを「なし」に設定します。この設定により、リージョンまたはページ・レベルの読取り専用条件設定が上書きされます。

    2. UIは、選択したタイプに応じて変わる場合があります。対象となる属性を編集します。

      さらに学習するには、プロパティ・エディタで属性を選択し、中央ペインで「ヘルプ」タブをクリックして参照してください

  4. 変更を保存するには、「保存」をクリックします。ページを保存して実行するには、「ページの保存と実行」をクリックします。

13.1.4.9 アイテムへの書式マスクの適用

「書式マスク」属性を編集して、アイテムに書式マスクを適用します。

一般的に、開発者は、数値と日付の表示方法を決定する書式マスクを選択します。

アイテムに書式マスクを適用するには:

  1. ページ・デザイナでページを表示します。
    1. ワークスペースのホームページで、「アプリケーション・ビルダー」アイコンをクリックします。
    2. アプリケーションを選択します。
    3. ページを選択します。
    ページ・デザイナが表示されます。
  2. 「レンダリング」タブまたは「レイアウト」タブのいずれかで、編集するアイテムを選択します。

    プロパティ・エディタにページ・アイテム属性が表示されます。属性は、グループに編成されます。

    グループまたは属性を検索するには、「フィルタ」フィールドにキーワードを入力します。プロパティ・エディタにグループまたは属性が表示されます。または、「グループに移動」をクリックしてグループを選択できます。

  3. 外観、書式マスク - 書式マスクを選択します。

    ヒント:

    数値書式マスクは数値を含むアイテムのみに適用し、日付書式マスクは日付を含むアイテムのみに適用します。そうでない場合、指定した書式マスクを使用して変換できない値がコンポーネントに含まれるため、ランタイム・エラーが発生します。
  4. 変更を保存するには、「保存」をクリックします。ページを保存して実行するには、「ページの保存と実行」をクリックします。

13.1.4.10 保存されていない変更についてユーザーに警告するためのアイテム属性の構成

「保存されていない変更の警告」属性を構成して、保存されていない変更のチェックにページ・アイテムを含めるかどうかを指定します。

開発者は、「保存されていない変更の警告」アイテム属性を使用して、保存されていない変更のチェックにページ・アイテムを含めるかどうかを指定できます。このチェックにより、保存されていない変更が含まれるページから移動しようとすると、ユーザーに警告が表示されます。データベース列に基づかないアイテム(検索アイテムなど)は、チェックする必要がありません。それらのアイテムに対しては、「保存されていない変更の警告」「チェックしない」に設定します。

「保存されていない変更の警告」属性を構成するには:

  1. ページ・デザイナでページを表示します。
    1. ワークスペースのホームページで、「アプリケーション・ビルダー」アイコンをクリックします。
    2. アプリケーションを選択します。
    3. ページを選択します。
    ページ・デザイナが表示されます。
  2. 「レンダリング」タブまたは「レイアウト」タブのいずれかで、編集するアイテムを選択します。

    プロパティ・エディタにページ・アイテム属性が表示されます。属性は、グループに編成されます。

    グループまたは属性を検索するには、「フィルタ」フィールドにキーワードを入力します。プロパティ・エディタにグループまたは属性が表示されます。または、「グループに移動」をクリックしてグループを選択できます。

  3. 詳細、保存されていない変更の警告 - 次のいずれかを選択します:
    • ページのデフォルト - 「保存されていない変更の警告」がページ・レベルで有効になっている場合に、保存されていない変更のチェックにアイテムを含めます。

    • 無視 - アイテムの変更は、保存されていない変更のチェックで無視されます。データベース列に基づかないアイテム(検索アイテムなど)には、このオプションを選択します。

  4. 変更を保存するには、「保存」をクリックします。ページを保存して実行するには、「ページの保存と実行」をクリックします。

ヒント:

「保存されていない変更の警告」属性は、apex.page.warnOnUnsavedChanges APIを使用して実装されます。

13.1.4.11 ページ・アイテムによるセッション・ステートの書込み方法の制御

「セッション・ステート」、「ストレージ」属性を構成して、ページ・アイテムでセッション・ステートを保持する方法を制御します。

ページ・アイテムによるセッション・ステートの書込みを構成するには:

  1. 構成するアイテムを含むページをページ・デザイナで表示します。
    1. ワークスペースのホームページで、「アプリケーション・ビルダー」アイコンをクリックします。
    2. アプリケーションを選択します。
    3. ページを選択します。
    ページ・デザイナが表示されます。
  2. 「レンダリング」タブまたは「レイアウト」タブのいずれかで、編集するアイテムを選択します。
    プロパティ・エディタにアイテム属性が表示されます。属性は、グループに編成されます。グループまたは属性を検索するには、「フィルタ・プロパティ」フィールドにキーワードを入力するか、「グループに移動」をクリックして、グループを選択します。
  3. プロパティ・エディタで、「セッション・ステート」グループを検索します。
  4. セッション・ステート、ストレージ - セッション・ステートの保持方法を選択します。オプションは次のとおりです。
    • リクエストごと(メモリーのみ) - ステートをデータベースに保存しません。ステートを使用できるのは、現在のリクエストを処理しているときのみです。AJAXリクエストでアイテムを使用する必要がある場合は、「送信するページ・アイテム」を使用してアイテム名を必ず渡してください。
    • セッションごと(ディスク)- リクエストをまたがって値にアクセスできるように、各セッションの値がデータベースに保存されます。
    • ユーザーごと(ディスク) - セッションをまたがってアクセスするために、データベースに値を格納することでユーザーに対して保持します。

    ノート:

    フォーム・リージョン(ウィザードの一部など)と連動するデータベース・アイテムを作成する場合は、「リクエストごと(メモリーのみ)」がデフォルトになります。「ユーザーごと(ディスク)」は、これらのアイテムでは使用できません。
  5. 変更を保存するには、「保存」をクリックします。ページを保存して実行するには、「ページの保存と実行」をクリックします。

13.1.4.12 アイテム・ユーティリティの表示

「ユーティリティ」ページにアクセスして、選択したアプリケーション内の複数のページのアイテムを編集できるグリッド編集ページおよびレポートを表示します。

ユーティリティ・ページにアクセスするには:

  1. ワークスペースのホームページで、「アプリケーション・ビルダー」アイコンをクリックします。
  2. アプリケーションを選択します。
  3. 「ユーティリティ」をクリックします。
  4. 「ページ固有のユーティリティ」リージョンで、「アイテム・ユーティリティ」をクリックします。
  5. 次のいずれかのレポートを選択します。
    • アイテム・ヘルプ・テキストの編集 - アイテム・ヘルプ・テキストを編集して、アプリケーション全体で一貫性が保たれるようにします。

    • すべてのページ・アイテム - アプリケーションのすべてのページ・アイテムを編集します。

    • パスワード・アイテム - アプリケーション内のパスワード・アイテムを編集します。セッション・ステートを保存しないパスワード・アイテムをお薦めします。さらに学習するには、ページの右側にある「パスワード・アイテム」リージョンを参照してください。

    • 条件付きアイテム - アプリケーション内の条件付きアイテムを編集します。