35.11 POPUPKEY_FROM_QUERYファンクション

このファンクションは、SQL問合せからポップアップ・キー選択リストを生成します。APEX_ITEMパッケージで使用可能な他のファンクションと同様に、POPUPKEY_FROM_QUERYファンクションは、F01からF50のフォームの配列要素でフォームを生成するように設計されています。

構文

APEX_ITEM.POPUPKEY_FROM_QUERY (
    p_idx              IN    NUMBER,
    p_value            IN    VARCHAR2 DEFAULT NULL,
    p_lov_query        IN    VARCHAR2,
    p_width            IN    VARCHAR2 DEFAULT NULL,
    p_max_length       IN    VARCHAR2 DEFAULT NULL,
    p_form_index       IN    VARCHAR2 DEFAULT '0',
    p_escape_html      IN    VARCHAR2 DEFAULT NULL,
    p_max_elements     IN    VARCHAR2 DEFAULT NULL,
    p_attributes       IN    VARCHAR2 DEFAULT NULL,
    p_ok_to_query      IN    VARCHAR2 DEFAULT 'YES',
    p_item_id          IN    VARCHAR2 DEFAULT NULL,
    p_item_label       IN    VARCHAR2 DEFAULT NULL )
    RETURN VARCHAR2;

パラメータ

パラメータ 説明
p_idx

フォーム要素名。たとえば、1F012F02です。通常、p_idxは指定した列の定数です。

POPUPKEY_FROM_QUERYの動作のため、次の索引の値はp_idx + 1である必要があります。たとえば:

SELECT APEX_ITEM.POPUPKEY_FROM_QUERY (1,deptno,'SELECT dname, deptno FROM dept') dt,
APEX_ITEM.HIDDEN(3,empno) eno
p_value フォーム要素の現行の値。この値は、P_LOV_QUERYパラメータのいずれかの値である必要があります。
p_lov_query このポップアップで使用されるLOV問合せ。
p_width テキスト・ボックスの幅。
p_max_length テキスト・ボックスに入力可能な最大文字数。
p_form_index

アイテムが含まれるページのHTMLフォーム。デフォルトは0ですが、ほとんど使用しません。

このパラメータは、ページ・テンプレートにカスタム・フォーム(別のWebサイトにポストする検索フィールドなど)を埋め込む必要がある場合にのみ使用します。このフォームが#FORM_OPEN#置換文字列の前にある場合、その索引は0 (ゼロ)で、Oracle APEXによって自動的にオープンされるフォームはフォーム1として参照される必要があります。この機能では、フォーム要素に値を戻すポップアップLOVで使用されるJavaScriptがサポートされています。

p_escape_html

同等のものにエスケープする必要がある特殊文字の置換文字。

  • <に対する&lt;
  • >に対する&gt;
  • &に対する&amp;

このパラメータは、問合せが無効なHTMLを戻すことがわかっている場合に有効です。

p_max_elements 問合せで戻せる行数の制限。ユーザー検索によるパフォーマンスの影響を制限します。このパラメータに値を入力することで、ユーザーがより限定された結果セットを検索するように強制できます。
p_attributes フォーム・アイテムで使用する追加のHTML属性。
p_ok_to_query 値の範囲はYESおよびNOです。YESの場合、ポップアップはLOVに最初の行セットを戻します。NOの場合、行を戻すために検索が開始されます。
p_item_id フォーム要素のID属性。
p_item_label アイテムに対して作成された非表示のラベル。

次の例に、SQL問合せからポップアップ選択リストを生成する方法を示します。

SELECT APEX_ITEM.POPUPKEY_FROM_QUERY (1,deptno,'SELECT dname, deptno FROM dept') dt 
          apex_item.hidden(3,empno) eno
          FROM emp;