プライマリ・コンテンツに移動

Oracle® Application Express APIリファレンス リリース5.1 E85937-02 |
| 目次 | 索引

前 | 次 |

# 13.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;

パラメータ

表13-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