APEX_ITEM
パッケージを使用すると、ページごとに個別にアイテムを作成するかわりに、SQL問合せに基づいてフォーム要素を動的に作成できます。
トピック:
このファンクションはチェック・ボックスを作成します。
構文
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;
パラメータ
表12-1では、CHECKBOX2
ファンクションで使用可能なパラメータについて説明します。
表12-1 CHECKBOX2のパラメータ
パラメータ | 説明 |
---|---|
|
どの |
|
チェック・ボックス、非表示フィールドまたは入力フォーム・アイテムの値 |
|
HTMLタグ属性を制御(無効にするなど)します。 |
|
デフォルトで選択される値 |
|
前述のパラメータ |
|
|
|
アイテムに対して作成された非表示のラベル |
デフォルトのチェック・ボックスの動作
次の例に、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
日付フィールドを含むフォームでこのファンクションを使用します。DATE_POPUP
ファンクションは、ポップアップ・カレンダのボタンが付いた日時フィールドを動的に生成します。
構文
APEX_ITEM.DATE_POPUP( p_idx IN NUMBER, p_row IN NUMBER, p_value IN VARCHAR2 DEFAULT NULL, p_date_format IN DATE DEFAULT 'DD-MON-YYYY', p_size IN NUMBER DEFAULT 20, p_maxlength IN NUMBER DEFAULT 2000, p_attributes IN VARCHAR2 DEFAULT NULL, p_item_id IN VARCHAR2 DEFAULT NULL, p_item_label IN VARCHAR2 DEFAULT NULL) RETURN VARCHAR2;
パラメータ
表12-2では、DATE_POPUP
ファンクションで使用可能なパラメータについて説明します。
表12-2 DATE_POPUPのパラメータ
パラメータ | 説明 |
---|---|
|
どの |
|
このパラメータは非推奨です。この値を指定しても無視されます。 |
|
フィールド・アイテムの値 |
|
有効なデータベースの日付書式 |
|
HTMLタグ属性を制御(無効にするなど)します。 |
|
入力可能な最大文字数を決定します。 |
|
追加するHTMLパラメータ |
|
|
|
アイテムに対して作成された非表示のラベル |
参照: TO_CHAR またはTO_DATE ファンクションの詳細は、Oracle Database SQL言語リファレンスを参照してください。 |
例
次の例に、APEX_ITEM.DATE_POPUP
を使用して、hiredate
列のポップアップ・カレンダのボタンを作成する方法を示します。
SELECT empno, APEX_ITEM.HIDDEN(1,empno)|| APEX_ITEM.TEXT(2,ename) ename, APEX_ITEM.TEXT(3,job) job, mgr, APEX_ITEM.DATE_POPUP(4,rownum,hiredate,'dd-mon-yyyy') hd, APEX_ITEM.TEXT(5,sal) sal, APEX_ITEM.TEXT(6,comm) comm, deptno FROM emp ORDER BY 1
日付フィールドを含むフォームでこのファンクションを使用します。DATE_POPUP2ファンクションは、ボタンが付いたjQueryベースのポップアップ・カレンダがある日時フィールドを動的に生成します。
構文
APEX_ITEM.DATE_POPUP2( p_idx in number, p_value in date default null, p_date_format in varchar2 default null, p_size in number default 20, p_maxLength in number default 2000, p_attributes in varchar2 default null, p_item_id in varchar2 default null, p_item_label in varchar2 default null, p_default_value in varchar2 default null, p_max_value in varchar2 default null, p_min_value in varchar2 default null, p_show_on in varchar2 default 'button', p_number_of_months in varchar2 default null, p_navigation_list_for in varchar2 default 'NONE', p_year_range in varchar2 default null, p_validation_date in varchar2 default null) RETURN VARCHAR2;
パラメータ
表12-3では、DATE_POPUP2
ファンクションで使用可能なパラメータについて説明します。
表12-3 DATE_POPUP2のパラメータ
パラメータ | 説明 |
---|---|
|
どのAPEX_APPLICATIONグローバル変数を使用するかを決定する番号。値の有効範囲は、1から50です。たとえば、1を指定するとF01、2を指定するとF02が作成されます。 |
|
フィールド・アイテムの値 |
|
有効なデータベースの日付書式 |
|
HTMLタグ属性を制御(無効にするなど)します。 |
|
入力可能な最大文字数を決定します。 |
|
追加するHTMLパラメータ |
|
|
|
アイテムに対して作成された非表示のラベル |
|
DatePickerカレンダ・ポップアップで選択する必要があるデフォルトの日付 |
|
DatePickerから選択できる日付の最大値 |
p_min_value |
DatePickerから選択できる日付の最小値 |
p_show_on |
DatePickerを表示する場合を決定します。ボタンのクリックまたはアイテムの選択、あるいはその両方で表示できます。 |
p_number_of_months |
表示される月の数を決定します。値は、[row,column]のような配列形式である必要があります。 |
p_navigation_list_for |
月または年、あるいはその両方の変更時に選択リストを表示するかどうかを決定します。指定可能な値はMONTH、YEAR、MONTH_AND_YEARです。デフォルトはnullです。 |
p_year_range |
年の選択リストに表示される年の範囲。 |
p_validation_date |
日付の検証が失敗した日付値の格納に使用されます。 |
参照: TO_CHAR またはTO_DATE ファンクションの詳細は、Oracle Database SQL言語リファレンスを参照してください。 |
このファンクションを使用して、アイテムをテキストとして表示します。ただし、その値はセッション・ステートに保存されます。
構文
APEX_ITEM.DISPLAY_AND_SAVE( p_idx IN NUMBER, p_value IN VARCHAR2 DEFAULT NULL, p_item_id IN VARCHAR2 DEFAULT NULL, p_item_label IN VARCHAR2 DEFAULT NULL) RETURN VARCHAR2;
パラメータ
表12-4では、DISPLAY_AND_SAVE
ファンクションで使用可能なパラメータについて説明します。
表12-4 DISPLAY_AND_SAVEのパラメータ
パラメータ | 説明 |
---|---|
|
どの |
|
現在の値 |
|
|
|
アイテムに対して作成された非表示のラベル |
例
次の例に、APEX_ITEM.DISPLAY_AND_SAVE
ファンクションの使用方法を示します。
SELECT APEX_ITEM.DISPLAY_AND_SAVE(10,empno) c FROM emp
このファンクションは、非表示のフォーム・アイテムを動的に生成します。
構文
APEX_ITEM.HIDDEN( p_idx IN NUMBER, p_value IN VARCHAR2 DEFAULT p_attributes IN VARCHAR2 DEFAULT NULL, p_item_id IN VARCHAR2 DEFAULT NULL, p_item_label IN VARCHAR2 DEFAULT NULL ) RETURN VARCHAR2;
パラメータ
表12-5では、HIDDEN
ファンクションで使用可能なパラメータについて説明します。
表12-5 HIDDENのパラメータ
パラメータ | 説明 |
---|---|
|
生成するアイテムの識別番号。この番号によって、どの |
|
非表示の入力フォーム・アイテムの値 |
|
追加するHTMLパラメータ |
|
|
|
アイテムに対して作成された非表示のラベル |
例
通常、表の主キーは非表示列として格納され、後続の更新処理で使用されます。次に例を示します。
SELECT empno, APEX_ITEM.HIDDEN(1,empno)|| APEX_ITEM.TEXT(2,ename) ename, APEX_ITEM.TEXT(3,job) job, mgr, APEX_ITEM.DATE_POPUP(4,rownum,hiredate,'dd-mon-yyyy') hiredate, APEX_ITEM.TEXT(5,sal) sal, APEX_ITEM.TEXT(6,comm) comm, deptno FROM emp ORDER BY 1
前述の問合せは、次のページ・プロセスを使用して結果を処理します。
BEGIN FOR i IN 1..APEX_APPLICATION.G_F01.COUNT LOOP UPDATE emp SET ename=APEX_APPLICATION.G_F02(i), job=APEX_APPLICATION.G_F03(i), hiredate=to_date(APEX_APPLICATION.G_F04(i),'dd-mon-yyyy'), sal=APEX_APPLICATION.G_F05(i), comm=APEX_APPLICATION.G_F06(i) WHERE empno=to_number(APEX_APPLICATION.G_F01(i)); END LOOP; END;
G_F01
列(非表示のEMPNO
に対応)は、各行を更新するキーとして使用されることに注意してください。
このファンクションは、ロストした更新の検出に使用します。ロストした更新の検出によって、データに同時にアクセスできる複数のアプリケーションのデータの整合性が保証されます。
このファンクションは、fcsと等しい名前属性を持つ非表示のフォーム・フィールドを生成し、50個の入力値を含みます。APEX_ITEM.MD5_CHECKSUMでも、Oracle DatabaseのDBMS_CRYPTOを使用して、MD5チェックサムが生成されます。
UTL_RAW.CAST_TO_RAW(DBMS_CRYPTO.MD5())
MD5チェックサムでは、データがネットワークを介して転送される際に、ハッシュやシーケンスによってデータ整合性が確保され、データが改ざんまたは盗用されていないことが保証されます。
構文
APEX_ITEM.MD5_CHECKSUM( p_value01 IN VARCHAR2 DEFAULT NULL, p_value02 IN VARCHAR2 DEFAULT NULL, p_value03 IN VARCHAR2 DEFAULT NULL, ... p_value50 IN VARCHAR2 DEFAULT NULL, p_col_sep IN VARCHAR2 DEFAULT '|', p_item_id IN VARCHAR2 DEFAULT NULL) RETURN VARCHAR2;
パラメータ
表12-6では、MD5_CHECKSUM
ファンクションで使用可能なパラメータについて説明します。
表12-6 MD5_CHECKSUMのパラメータ
パラメータ | 説明 |
---|---|
...
|
50個の値が入力可能です。このパラメータを指定しない場合、デフォルトはNULLになります |
|
|
|
HTMLフォーム・アイテムのID |
例
このファンクションは、fcs
という名前を持つ非表示のフォーム要素を生成します。その後、値にはAPEX_APPLICATION.G_FCS
配列を使用してアクセスできます。
SELECT APEX_ITEM.MD5_CHECKSUM(ename,job,sal) md5_cks, ename, job, sal FROM emp
このファンクションは、ロストした更新の検出に使用します。ロストした更新の検出によって、データに同時にアクセスできる複数のアプリケーションのデータの整合性が保証されます。
このファンクションは、非表示のフォーム・フィールドを作成し、50個の入力値を含みます。APEX_ITEM
.MD5_HIDDEN
でも、Oracle DatabaseのDBMS_CRYPTO
を使用して、MD5チェックサムが生成されます。
UTL_RAW.CAST_TO_RAW(DBMS_CRYPTO.MD5())
MD5チェックサムでは、データがネットワークを介して転送される際に、ハッシュやシーケンスによってデータ整合性が確保され、データが改ざんまたは盗用されていないことが保証されます。
構文
APEX_ITEM.MD5_HIDDEN( p_idx IN NUMBER, p_value01 IN VARCHAR2 DEFAULT NULL, p_value02 IN VARCHAR2 DEFAULT NULL, p_value03 IN VARCHAR2 DEFAULT NULL, ... p_value50 IN VARCHAR2 DEFAULT NULL, p_col_sep IN VARCHAR2 DEFAULT '|', p_item_id IN VARCHAR2 DEFAULT NULL) RETURN VARCHAR2;
パラメータ
表12-7では、MD5_HIDDEN
ファンクションで使用可能なパラメータについて説明します。
表12-7 MD5_HIDDENのパラメータ
パラメータ | 説明 |
---|---|
|
生成されるフォーム要素を示します。たとえば、1は |
...
|
50個の値が入力可能です。このパラメータを指定しない場合、デフォルトはNULLになります |
|
|
|
HTMLフォーム・アイテムのID |
例
p_idx
パラメータは生成されるFXXフォーム要素を指定します。次の例では、7はF07
を生成します。また、HTML非表示フォーム要素が生成されることにも注意してください。
SELECT APEX_ITEM.MD5_HIDDEN(7,ename,job,sal)md5_h, ename, job, sal FROM emp
このファンクションは、アプリケーションの共有値リスト(LOV)からHTMLポップアップ選択リストを生成します。APEX_ITEM
パッケージで使用可能な他のファンクションと同様に、POPUP_FROM_LOV
ファンクションは、F01
からF50
のフォームの配列要素でフォームを生成するように設計されています。
構文
APEX_ITEM.POPUP_FROM_LOV( p_idx IN NUMBER, p_value IN VARCHAR2 DEFAULT NULL, p_lov_name 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;
パラメータ
表12-8では、POPUP_FROM_LOV
ファンクションで使用可能なパラメータについて説明します。
表12-8 POPUP_FROM_LOVのパラメータ
パラメータ | 説明 |
---|---|
|
フォーム要素名。たとえば、 |
|
フォーム要素の現行の値。この値は、 |
|
このポップアップで使用される名前付きLOV |
|
テキスト・ボックスの幅 |
|
テキスト・ボックスに入力可能な最大文字数 |
|
アイテムが含まれるページのHTMLフォーム。デフォルトは0ですが、ほとんど使用しません。 このパラメータは、ページ・テンプレートにカスタム・フォーム(別のWebサイトにポストする検索フィールドなど)を埋め込む必要がある場合にのみ使用します。このフォームが |
|
同等のものにエスケープする必要がある特殊文字の置換文字。
値の範囲は |
|
問合せで戻せる行数の制限。ユーザー検索によるパフォーマンスの影響を制限します。このパラメータに値を入力することで、ユーザーがより限定された結果セットを検索するように強制できます。 |
|
フォーム・アイテムで使用する追加のHTML属性。 |
|
値の範囲は |
|
フォーム要素のID属性。 |
|
アイテムに対して作成された非表示のラベル。 |
例
次の例に、DEPT_LOV
というLOVからポップアップを生成する問合せの例を示します。
SELECT APEX_ITEM.POPUP_FROM_LOV (1,deptno,'DEPT_LOV') dt FROM emp
このファンクションは問合せからHTMLポップアップ選択リストを生成します。APEX_ITEM
パッケージで使用可能な他のファンクションと同様に、POPUP_FROM_QUERY
ファンクションは、F01
からF50
のフォームの配列要素でフォームを生成するように設計されています。
構文
APEX_ITEM.POPUP_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;
パラメータ
表12-9では、POPUP_FROM_QUERY
ファンクションで使用可能なパラメータについて説明します。
表12-9 POPUP_FROM_QUERYのパラメータ
パラメータ | 説明 |
---|---|
|
フォーム要素名。たとえば、 |
|
フォーム要素の現行の値。この値は、 |
|
2つの列(表示列および戻り列)を選択するSQL問合せ。次に例を示します。 SELECT dname, deptno FROM dept |
|
テキスト・ボックスの幅。 |
|
テキスト・ボックスに入力可能な最大文字数。 |
|
アイテムが含まれるページのHTMLフォーム。デフォルトは0ですが、ほとんど使用しません。 このパラメータは、ページ・テンプレートにカスタム・フォーム(別のWebサイトにポストする検索フィールドなど)を埋め込む必要がある場合にのみ使用します。このフォームが |
|
同等のものにエスケープする必要がある特殊文字の置換文字。
値の範囲は |
|
問合せで戻せる行数の制限。ユーザー検索によるパフォーマンスの影響を制限します。このパラメータに値を入力することで、ユーザーがより限定された結果セットを検索するように強制できます。 |
|
フォーム・アイテムで使用する追加のHTML属性。 |
|
値の範囲は |
|
フォーム要素のID属性。 |
|
アイテムに対して作成された非表示のラベル。 |
例
次の例に、emp
表からポップアップ選択リストを生成する問合せの例を示します。
SELECT APEX_ITEM.POPUP_FROM_QUERY (1,deptno,'SELECT dname, deptno FROM dept') dt FROM emp
このファンクションは、共有LOVからポップアップ・キー選択リストを生成します。APEX_ITEM
パッケージで使用可能な他のファンクションと同様に、POPUPKEY_FROM_LOV
ファンクションは、F01
からF50
のフォームの配列要素でフォームを生成するように設計されています。
構文
APEX_ITEM.POPUPKEY_FROM_LOV( p_idx IN NUMBER, p_value IN VARCHAR2 DEFAULT NULL, p_lov_name 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;
ポップアップに関連付けられたテキスト・フィールドはLOV問合せの1列目に表示されますが、実際の値は問合せの2列目で指定されます。
パラメータ
表12-10では、POPUPKEY_FROM_LOV
ファンクションで使用可能なパラメータについて説明します。
表12-10 POPUPKEY_FROM_LOVのパラメータ
パラメータ | 説明 |
---|---|
|
フォーム要素名を示します。たとえば、
SELECT APEX_ITEM.POPUPKEY_FROM_LOV (1,deptno,'DEPT') dt, APEX_ITEM.HIDDEN(3,empno) eno |
|
現行の値を示します。この値は、 |
|
このポップアップで使用される名前付きLOVを示します。 |
|
テキスト・ボックスの幅。 |
|
テキスト・ボックスに入力可能な最大文字数。 |
|
アイテムが含まれるページのHTMLフォーム。デフォルトは0ですが、ほとんど使用しません。 このパラメータは、ページ・テンプレートにカスタム・フォーム(別のWebサイトにポストする検索フィールドなど)を埋め込む必要がある場合にのみ使用します。このフォームが |
|
同等のものにエスケープする必要がある特殊文字の置換文字。
このパラメータは、問合せが無効なHTMLを戻すことがわかっている場合に有効です。 |
|
問合せで戻せる行数の制限。ユーザー検索によるパフォーマンスの影響を制限します。このパラメータに値を入力することで、ユーザーがより限定された結果セットを検索するように強制できます。 |
|
フォーム・アイテムで使用する追加のHTML属性。 |
|
値の範囲は |
|
<input>タグのHTML属性のID |
|
アイテムに対して作成された非表示のラベル |
例
次の例に、共有LOVからポップアップ・キー選択リストを生成する方法を示します。
SELECT APEX_ITEM.POPUPKEY_FROM_LOV (1,deptno,'DEPT') dt FROM emp
このファンクションは、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;
パラメータ
表12-11では、POPUPKEY_FROM_QUERY
ファンクションで使用可能なパラメータについて説明します。
表12-11 POPUPKEY_FROM_QUERYのパラメータ
パラメータ | 説明 |
---|---|
|
フォーム要素名。たとえば、
SELECT APEX_ITEM.POPUPKEY_FROM_QUERY (1,deptno,'SELECT dname, deptno FROM dept') dt, APEX_ITEM.HIDDEN(3,empno) eno |
|
フォーム要素の現行の値。この値は、 |
|
このポップアップで使用されるLOV問合せ。 |
|
テキスト・ボックスの幅。 |
|
テキスト・ボックスに入力可能な最大文字数。 |
|
アイテムが含まれるページのHTMLフォーム。デフォルトは0ですが、ほとんど使用しません。 このパラメータは、ページ・テンプレートにカスタム・フォーム(別のWebサイトにポストする検索フィールドなど)を埋め込む必要がある場合にのみ使用します。このフォームが |
|
同等のものにエスケープする必要がある特殊文字の置換文字。
このパラメータは、問合せが無効なHTMLを戻すことがわかっている場合に有効です。 |
|
問合せで戻せる行数の制限。ユーザー検索によるパフォーマンスの影響を制限します。このパラメータに値を入力することで、ユーザーがより限定された結果セットを検索するように強制できます。 |
|
フォーム・アイテムで使用する追加のHTML属性。 |
|
値の範囲は |
|
フォーム要素のID属性。 |
|
アイテムに対して作成された非表示のラベル。 |
例
次の例に、SQL問合せからポップアップ選択リストを生成する方法を示します。
SELECT APEX_ITEM.POPUPKEY_FROM_QUERY (1,deptno,'SELECT dname, deptno FROM dept') dt FROM emp
このファンクションは、SQL問合せからラジオ・グループを生成します。
構文
APEX_ITEM.RADIOGROUP( p_idx IN NUMBER, p_value IN VARCHAR2 DEFAULT NULL, p_selected_value IN VARCHAR2 DEFAULT NULL, p_display IN VARCHAR2 DEFAULT NULL, p_attributes IN VARCHAR2 DEFAULT NULL, p_onblur IN VARCHAR2 DEFAULT NULL, p_onchange IN VARCHAR2 DEFAULT NULL, p_onfocus IN VARCHAR2 DEFAULT NULL, p_item_id IN VARCHAR2 DEFAULT NULL, p_item_label IN VARCHAR2 DEFAULT NULL) RETURN VARCHAR2;
パラメータ
表12-12では、RADIOGROUP
ファンクションで使用可能なパラメータについて説明します。
表12-12 RADIOGROUPのパラメータ
パラメータ | 説明 |
---|---|
|
どの |
|
ラジオ・グループの値。 |
|
選択される値。 |
|
ラジオ・オプションの横に表示されるテキスト。 |
|
追加するHTMLパラメータ。 |
|
|
|
|
|
|
|
<input>タグのHTML属性のID |
|
アイテムに対して作成された非表示のラベル |
例
次の例に、ラジオ・グループのデフォルトとしてemp
表から部門20を選択する方法を示します。
SELECT APEX_ITEM.RADIOGROUP (1,deptno,'20',dname) dt FROM dept ORDER BY 1
このファンクションは、静的選択リストを動的に生成します。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;
パラメータ
表12-13では、SELECT_LIST
ファンクションで使用可能なパラメータについて説明します。
表12-13 SELECT_LISTのパラメータ
パラメータ | 説明 |
---|---|
|
フォーム要素名。たとえば、 |
|
現在の値。この値は |
|
カンマで区切られた静的値のリスト。表示される値および戻される値はセミコロンで区切られます。 これは、 |
|
追加するHTMLパラメータ。 |
|
NULLの選択を有効にするための追加の選択オプション。値の範囲は |
|
ユーザーがNULLのオプションを選択すると戻される値。 |
|
ユーザーがNULLのオプションを選択すると表示される値。 |
|
|
|
アイテムに対して作成された非表示のラベル。 |
|
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;
このファンクションは、共有の値リスト(LOV)から選択リストを動的に生成します。APEX_ITEM
パッケージで使用可能な他のファンクションと同様に、これらの選択リストのファンクションはF01
からF50
のフォームの配列要素でフォームを生成するように設計されています。
構文
APEX_ITEM.SELECT_LIST_FROM_LOV( p_idx IN NUMBER, p_value IN VARCHAR2 DEFAULT NULL, p_lov IN VARCHAR2, p_attributes IN VARCHAR2 DEFAULT NULL, p_show_null IN VARCHAR2 DEFAULT 'YES', 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;
パラメータ
表12-14では、SELECT_LIST_FROM_LOV
ファンクションで使用可能なパラメータについて説明します。
表12-14 SELECT_LIST_FROM_LOVのパラメータ
パラメータ | 説明 |
---|---|
|
フォーム要素名。たとえば、 |
|
現在の値。この値は |
|
アプリケーションLOVのテキストの名前。このLOVはアプリケーションで定義する必要があります。このパラメータは、 |
|
追加するHTMLパラメータ。 |
|
NULLの選択を有効にするための追加の選択オプション。値の範囲は |
|
ユーザーがNULLのオプションを選択すると戻される値。 |
|
ユーザーがNULLのオプションを選択すると表示される値。 |
|
|
|
アイテムに対して作成された非表示のラベル。 |
|
|
例
次の例に、アプリケーションで定義されたLOVに基づく選択リストを示します。
SELECT APEX_ITEM.SELECT_LIST_FROM_LOV(2,job,'JOB_FLOW_LOV')job FROM emp
このファンクションは、共有の値リスト(LOV)から大規模(32KBを超える)な選択リストを動的に生成します。APEX_ITEM
パッケージで使用可能な他のファンクションと同様に、これらの選択リストのファンクションはF01
からF50
のフォームの配列要素でフォームを生成するように設計されています。このファンクションはSELECT_LIST_FROM_LOV
と同じですが、戻り値はCLOBになります。4000文字を超える列値を処理する必要があるSQL問合せで、このファンクションを使用します。
構文
APEX_ITEM.SELECT_LIST_FROM_LOV_XL( p_idx IN NUMBER, p_value IN VARCHAR2 DEFAULT NULL, p_lov IN VARCHAR2, p_attributes IN VARCHAR2 DEFAULT NULL, p_show_null IN VARCHAR2 DEFAULT 'YES', 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 CLOB;
パラメータ
表12-15では、SELECT_LIST_FROM_LOV_XL
ファンクションで使用可能なパラメータについて説明します。
表12-15 SELECT_LIST_FROM_LOV_XLのパラメータ
パラメータ | 説明 |
---|---|
|
フォーム要素名。たとえば、 |
|
現在の値。この値は |
|
LOVのテキストの名前。このLOVはアプリケーションで定義する必要があります。このパラメータは、 |
|
追加するHTMLパラメータ。 |
|
NULLの選択を有効にするための追加の選択オプション。値の範囲は |
|
ユーザーがNULLのオプションを選択すると戻される値。 |
|
ユーザーがNULLのオプションを選択すると表示される値。 |
|
|
|
アイテムに対して作成された非表示のラベル。 |
|
|
例
次の例に、アプリケーションで定義されたLOVに基づいて選択リストを作成する方法を示します。
SELECT APEX_ITEM.SELECT_LIST_FROM_LOV_XL(2,job,'JOB_FLOW_LOV')job FROM emp
このファンクションは、問合せから静的選択リストを動的に生成します。APEX_ITEM
パッケージで使用可能な他のファンクションと同様に、これらの選択リストのファンクションはF01
からF50
のフォームの配列要素でフォームを生成するように設計されています。
構文
APEX_ITEM.SELECT_LIST_FROM_QUERY( p_idx IN NUMBER, p_value IN VARCHAR2 DEFAULT NULL, p_query IN VARCHAR2, p_attributes IN VARCHAR2 DEFAULT NULL, p_show_null IN VARCHAR2 DEFAULT 'YES', 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;
パラメータ
表12-16では、SELECT_LIST_FROM_QUERY
ファンクションで使用可能なパラメータについて説明します。
表12-16 SELECT_LIST_FROM_QUERYのパラメータ
パラメータ | 説明 |
---|---|
|
フォーム要素名。たとえば、 |
|
現在の値。この値は |
|
2つの列(表示列および戻り列)を選択するSQL問合せ。次に例を示します。 SELECT dname, deptno FROM dept これは、 また、この問合せのSELECT句に指定されている列が1つのみの場合は、表示する目的と戻す目的の両方でこの列の値が使用されることにも注意してください。 |
|
追加するHTMLパラメータ。 |
|
NULLの選択を有効にするための追加の選択オプション。値の範囲は |
|
ユーザーがNULLのオプションを選択すると戻される値。 |
|
ユーザーがNULLのオプションを選択すると表示される値。 |
|
|
|
アイテムに対して作成された非表示のラベル。 |
|
|
例
次の例に、SQL問合せに基づく選択リストを示します。
SELECT APEX_ITEM.SELECT_LIST_FROM_QUERY(3,job,'SELECT DISTINCT job FROM emp')job FROM emp
このファンクションはSELECT_LIST_FROM_QUERY
と同じですが、戻り値はCLOBになります。そのため、4000文字を超える列値を処理する必要があるSQL問合せで使用できます。APEX_ITEM
パッケージで使用可能な他のファンクションと同様に、これらの選択リストのファンクションはF01
からF50
のフォームの配列要素でフォームを生成するように設計されています。
構文
APEX_ITEM.SELECT_LIST_FROM_QUERY_XL( p_idx IN NUMBER, p_value IN VARCHAR2 DEFAULT NULL, p_query IN VARCHAR2, p_attributes IN VARCHAR2 DEFAULT NULL, p_show_null IN VARCHAR2 DEFAULT 'YES', 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 CLOB;
パラメータ
表12-17では、SELECT_LIST_FROM_QUERY_XL
ファンクションで使用可能なパラメータについて説明します。
表12-17 SELECT_LIST_FROM_QUERY_XLパラメータ
パラメータ | 説明 |
---|---|
|
フォーム要素名。たとえば、 |
|
現在の値。この値は |
|
2つの列(表示列および戻り列)を選択するSQL問合せ。次に例を示します。 SELECT dname, deptno FROM dept これは、 また、この問合せのSELECT句に指定されている列が1つのみの場合は、表示する目的と戻す目的の両方でこの列の値が使用されることにも注意してください。 |
|
追加するHTMLパラメータ。 |
|
NULLの選択を有効にするための追加の選択オプション。値の範囲は |
|
ユーザーがNULLのオプションを選択すると戻される値。 |
|
ユーザーがNULLのオプションを選択すると表示される値。 |
|
|
|
アイテムに対して作成された非表示のラベル。 |
|
|
例
次の例に、SQL問合せに基づく選択リストを示します。
SELECT APEX_ITEM.SELECT_LIST_FROM_QUERY_XL(3,job,'SELECT DISTINCT job FROM emp')job FROM emp
このファンクションは、SQL問合せからテキスト・フィールド(またはテキスト入力フォーム・アイテム)を生成します。
構文
APEX_ITEM.TEXT( p_idx IN NUMBER, p_value IN VARCHAR2 DEFAULT NULL, p_size IN NUMBER DEFAULT NULL, p_maxlength IN NUMBER DEFAULT NULL, p_attributes IN VARCHAR2 DEFAULT NULL, p_item_id IN VARCHAR2 DEFAULT NULL, p_item_label IN VARCHAR2 DEFAULT NULL) RETURN VARCHAR2;
パラメータ
表12-18では、TEXT
ファンクションで使用可能なパラメータについて説明します。
表12-18 TEXTのパラメータ
パラメータ | 説明 |
---|---|
|
生成するアイテムの識別番号。この番号によって、どの |
|
テキスト・フィールド・アイテムの値。 |
|
HTMLタグ属性を制御(無効にするなど)します。 |
|
テキスト・ボックスに入力可能な最大文字数。 |
|
追加するHTMLパラメータ。 |
|
|
|
アイテムに対して作成された非表示のラベル。 |
例
次の問合せの例に、各行に1つの更新フィールドを生成する方法を示します。ename
、sal
およびcomm
列ではAPEX_ITEM
.TEXT
ファンクションを使用して、各行にHTMLテキスト・フィールドを生成します。また、各列がそれぞれの配列に格納されるように問合せ内の各アイテムに一意のp_idx
パラメータが渡されることに注意してください。
SELECT empno, APEX_ITEM.HIDDEN(1,empno)|| APEX_ITEM.TEXT(2,ename) ename, APEX_ITEM.TEXT(3,job) job, mgr, APEX_ITEM.DATE_POPUP(4,rownum,hiredate,'dd-mon-yyyy') hiredate, APEX_ITEM.TEXT(5,sal) sal, APEX_ITEM.TEXT(6,comm) comm, deptno FROM emp ORDER BY 1
このファンクションはテキスト領域を作成します。
構文
APEX_ITEM.TEXTAREA( p_idx IN NUMBER, p_value IN VARCHAR2 DEFAULT NULL, p_rows IN NUMBER DEAULT 40, p_cols IN NUMBER DEFAULT 4, p_attributes IN VARCHAR2 DEFAULT NULL, p_item_id IN VARCHAR2 DEFAULT NULL, p_item_label IN VARCHAR2 DEFAULT NULL) RETURN VARCHAR2;
パラメータ
表12-19では、TEXTAREA
ファンクションで使用可能なパラメータについて説明します。
表12-19 TEXTAREAのパラメータ
パラメータ | 説明 |
---|---|
|
生成するアイテムの識別番号。この番号によって、どの |
|
テキスト領域アイテムの値。 |
|
テキスト領域の高さ(HTML行属性) |
|
テキスト領域の幅(HTML行属性)。 |
|
追加するHTMLパラメータ。 |
|
|
|
アイテムに対して作成された非表示のラベル。 |
例
次の例に、SQL問合せに基づくテキスト領域を作成する方法を示します。
SELECT APEX_ITEM.TEXTAREA(3,ename,5,80) a FROM emp
このファンクションを使用して、アイテムをテキストとして表示します。そのテキストは、名前付きLOVの表示値を導出します。
構文
APEX_ITEM.TEXT_FROM_LOV ( p_value IN VARCHAR2 DEFAULT NULL, p_lov IN VARCHAR2, p_null_text IN VARCHAR2 DEFAULT '%') RETURN VARCHAR2;
パラメータ
表12-20では、TEXT_FROM_LOV
ファンクションで使用可能なパラメータについて説明します。
表12-20 TEXT_FROM_LOVパラメータ
パラメータ | 説明 |
---|---|
|
フィールド・アイテムの値。
|
|
共有LOVのテキストの名前。このLOVはアプリケーションで定義する必要があります。 |
|
フィールド・アイテムの値がNULLの場合に表示される値 |
例
次の例では、名前付きLOV (EMPNO_ENAME_LOV
)から表示値を導出する方法を示します。
SELECT APEX_ITEM.TEXT_FROM_LOV(empno,'EMPNO_ENAME_LOV') c FROM emp
このファンクションを使用して、アイテムをテキストとして表示します。そのテキストは、LOV問合せから表示値を導出します。
構文
APEX_ITEM.TEXT_FROM_LOV_QUERY (
p_value IN VARCHAR2 DEFAULT NULL,
p_query IN
VARCHAR2,
p_null_text IN VARCHAR2 DEFAULT '%')
RETURN VARCHAR2;
パラメータ
表12-21では、TEXT_FROM_LOV_QUERY
ファンクションで使用可能なパラメータについて説明します。
表12-21 TEXT_FROM_LOV_QUERYのパラメータ
パラメータ | 説明 |
---|---|
|
フィールド・アイテムの値。 |
|
2つの列(表示列および戻り列)を選択するSQL問合せ。次に例を示します。 SELECT dname, deptno FROM dept この問合せのSELECT句に指定されている列が1つのみの場合は、表示する目的と戻す目的の両方でこの列の値が使用されることに注意してください。 |
|
フィールド・アイテムの値がNULLの場合、または対応するエントリがLOV問合せの値 |
例
次の例では、問合せから表示値を導出する方法を示します。
SELECT APEX_ITEM.TEXT_FROM_LOV_QUERY(empno,'SELECT ename, empno FROM emp') c from emp