19.13 SELECT_LISTファンクション

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

構文

APEX_ITEM.SELECT_LIST(
    p_idx           IN   NUMBER,
    p_value         IN   VARCHAR2 DEFAULT NULL,
    p_list_values   IN   VARCHAR2 DEFAULT NULL,
    p_attributes    IN   VARCHAR2 DEFAULT NULL,
    p_show_null     IN   VARCHAR2 DEFAULT 'NO',
    p_null_value    IN   VARCHAR2 DEFAULT '%NULL%',
    p_null_text     IN   VARCHAR2 DEFAULT '%',
    p_item_id       IN   VARCHAR2 DEFAULT NULL,
    p_item_label    IN   VARCHAR2 DEFAULT NULL,
    p_show_extra    IN   VARCHAR2 DEFAULT 'YES')
    RETURN VARCHAR2;

パラメータ

表19-13 SELECT_LISTのパラメータ

パラメータ 説明

p_idx

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

p_value

現在の値。この値はP_LIST_VALUESパラメータの値である必要があります。

p_list_values

カンマで区切られた静的値のリスト。表示される値および戻される値はセミコロンで区切られます。

これは、SELECT_LISTファンクションのみで使用可能であることに注意してください。

p_attributes

追加するHTMLパラメータ。

p_show_null

NULLの選択を有効にするための追加の選択オプション。値の範囲はYESおよびNOです。

p_null_value

ユーザーがNULLのオプションを選択すると戻される値。p_show_nullYESの場合にのみ使用できます。

p_null_text

ユーザーがNULLのオプションを選択すると表示される値。p_show_nullがYESの場合にのみ使用できます。

p_item_id

<input>タグのHTML属性のID。

p_item_label

アイテムに対して作成された非表示のラベル。

p_show_extra

p_valueの値が選択リストで指定されていない場合でも、 現在の値を表示します。

次の例に、Yesを表示し、Yを戻し、Yをデフォルトとし、F01のフォームのアイテムを生成する静的選択リストを示します。

SELECT APEX_ITEM.SELECT_LIST(1,'Y','Yes;Y,No;N')yn 
FROM emp

次の例に、APEX_ITEM.SELECT_LISTを使用して、次に示す条件で静的選択リストを生成する方法を示します。

  • フォーム配列要素F03が生成される(p_idxパラメータ)。

  • 各要素の初期値がempの行のdeptnoの値と等しくなる(p_valueパラメータ)。

  • 選択リストに4つのオプションが含まれる(p_list_valuesパラメータ)。

  • 選択リスト内のテキストが赤色で表示される(p_attributesパラメータ)。

  • NULLのオプションが表示され(p_show_null)、このオプションによってテキストとして-Select-が表示される(p_null_textパラメータ)。

  • 各行に対してHTML ID属性が生成され、各行の#ROWNUM# はカレント行rownumに置換される(p_item_idパラメータ)。(つまり、行4に対してf03_4のIDが生成される。)

  • 各行に対してHTMLラベル要素が生成される(p_item_labelパラメータ)。

  • deptnoの現行の値が、p_list_valuesパラメータに渡されたLOVに含まれていない場合でも表示される(p_show_extraパラメータ)。

SELECT  empno "Employee #", 
    ename "Name",
    APEX_ITEM.SELECT_LIST(
        p_idx           =>   3,
        p_value         =>   deptno,
        p_list_values   =>   'ACCOUNTING;10,RESEARCH;20,SALES;30,OPERATIONS;40',
        p_attributes    =>   'style="color:red;"',
        p_show_null     =>   'YES',
        p_null_value    =>   NULL,
        p_null_text     =>   '-Select-',
        p_item_id       =>   'f03_#ROWNUM#',
        p_item_label    =>   'Label for f03_#ROWNUM#',
        p_show_extra    =>   'YES') "Department"
  FROM  emp;