19.1 CHECKBOX2ファンクション

このファンクションはチェック・ボックスを作成します。

構文

APEX_ITEM.CHECKBOX2(
    p_idx                       IN    NUMBER,
    p_value                     IN    VARCHAR2 DEFAULT NULL,
    p_attributes                IN    VARCHAR2 DEFAULT NULL,
    p_checked_values            IN    VARCHAR2 DEFAULT NULL,
    p_checked_values_delimiter  IN    VARCHAR2 DEFAULT ':',
    p_item_id                   IN    VARCHAR2 DEFAULT NULL,
    p_item_label                IN    VARCHAR2 DEFAULT NULL)
    RETURN VARCHAR2;

パラメータ

表19-1 CHECKBOX2のパラメータ

パラメータ 説明

p_idx

どのAPEX_APPLICATIONグローバル変数を使用するかを決定する番号。値の有効範囲は、1から50です。たとえば、1を指定するとF01、2を指定するとF02が作成されます。

p_value

チェック・ボックス、非表示フィールドまたは入力フォーム・アイテムの値

p_attributes

テキスト・フィールドのサイズを制御します。

p_checked_values

デフォルトで選択される値

p_checked_values_delimiter

前述のパラメータp_checked_valuesの値を区切ります。

p_item_id

<input>タグのHTML属性のID

p_item_label

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

デフォルトのチェック・ボックスの動作

次の例に、emp表の各従業員に対して選択された状態のチェック・ボックスを作成する方法を示します。

SELECT APEX_ITEM.CHECKBOX2(1,empno,'CHECKED') "Select",
    ename, job
FROM   emp
ORDER BY 1

次の例に、従業員のすべてのチェック・ボックスが選択されていない状態で表示する方法を示します。

SELECT APEX_ITEM.CHECKBOX2(1,empno) "Select",
    ename, job
FROM   emp
ORDER BY 1

次の例に、部門10の従業員のチェック・ボックスを選択する方法を示します。

SELECT APEX_ITEM.CHECKBOX2(1,empno,DECODE(deptno,10,'CHECKED',NULL)) "Select",
    ename, job
FROM   emp
ORDER BY 1

次の例に、部門10または20の従業員のチェック・ボックスを選択する方法を示します。

SELECT APEX_ITEM.CHECKBOX2(1,deptno,NULL,'10:20',':') "Select",
    ename, job
FROM   emp
ORDER BY 1

送信時プロセスの作成

アプリケーションでチェック・ボックスを使用する場合、送信時プロセスを作成して、選択した行で特定のタイプのアクションを実行する必要がある場合があります。たとえば、次のロジックを使用する「削除」ボタンがあるとします。

SELECT APEX_ITEM.CHECKBOX2(1,empno) "Select",
    ename, job
FROM   emp
ORDER  by 1

次に送信時プロセスの例を示します。

FOR I in 1..APEX_APPLICATION.G_F01.COUNT LOOP
    DELETE FROM emp WHERE empno = to_number(APEX_APPLICATION.G_F01(i));
END LOOP;

次の例に、一意のIDを使用して、emp表の各従業員に対して未選択のチェック・ボックスを作成する方法を示します。この操作は、JavaScriptコード内からレコードを参照する場合に有効です。

SELECT APEX_ITEM.CHECKBOX2(1,empno,NULL,NULL,NULL,'f01_#ROWNUM#') "Select",
    ename, job
FROM   emp
ORDER BY 1