19.18 SWITCHファンクション

このファンクションは、フリップ・トグル・アイテムを動的に生成します。オン/オフ値とラベルが指定されない場合は、Yes/Noトグルが表示されます。APEX_ITEMで使用できる他のファンクションと同様、SWITCHファンクションも、F01からF50のフォームの配列要素でフォームを生成するように設計されています。

構文

APEX_ITEM.SWITCH(
     p_idx IN NUMBER,
     p_value IN VARCHAR2,
     p_on_value IN VARCHAR2 DEFAULT 'Y',
     p_on_label IN VARCHAR2 DEFAULT 'Yes',
     p_off_value IN VARCHAR2 DEFAULT 'N',
     p_off_label IN VARCHAR2 DEFAULT 'No',
     p_item_id IN VARCHAR2 DEFAULT NULL,
     p_item_label IN VARCHAR2,
     p_attributes IN VARCHAR2 DEFAULT NULL)
     RETURN VARCHAR2;

パラメータ

表19-18 SWITCHのパラメータ

パラメータ 説明

p_idx

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

p_value

フォーム要素の現行の値。

p_on_value

ユーザーが「オン」オプションを選択した場合のアイテムの値。

p_on_label

「オン」オプションの表示テキスト。

p_off_value

ユーザーが「オフ」オプションを選択した場合のアイテムの値。

p_off_label

「オフ」オプションの表示テキスト。

p_item_id

<input>タグのHTML属性のID。一意になるように、一部の文字列と行番号との連結を試みます。

p_item_label

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

p_attributes

フォーム・アイテムで使用する追加のHTML属性。

次の例では、APEX_ITEM.SWITCHを使用して、次に示す条件でYes/Noのフリップ・トグル・アイテムを生成する方法を示します。

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

  • 各要素の初期値はNに等しくなります(p_valueパラメータ)。

  • 各行に対してHTML ID属性が生成され、現在の行番号が一意に識別されます(p_item_idパラメータ)。行2に対しては'IS_MANAGER_2'のIDが1つ生成されます。

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

SELECT
  ename "Name",
  APEX_ITEM.SWITCH ( 
       p_idx => 1,
       p_value => 'N',
   p_item_id => 'IS_MANAGER_'||rownum,
       p_item_label => apex_escape.html(ename)||': Is Manager' )
"Is Manager"
FROM emp;