3.1 G_Fnn配列(レガシー)の使用
重要:
G_Fnn配列のサポートはレガシーであり、将来のリリースで削除される予定です。かわりに対話グリッドの使用をお薦めします。APEX_APPLICATION.G_Fnn
配列(nnは01
から50
の範囲)は、APEXページに対するHTMLフォーム要素を動的に生成できるようにするAPEX_ITEM
ファンクション(APEX_ITEM.TEXT
やAPEX_ITEM.SELECT_LIST
など)とともに使用します。ページの送信時に、アイテム値がサーバーに送信され、APEX_APPLICATION.G_Fnn
配列として提供されます。
APEX_APPLICATION.G_Fnn
は、APEX_ITEM
コンテキストでのみ使用します。その他のコンテキスト(PL/SQLコードのプレーン配列処理など)では、APEX_T_VARCHAR2
タイプおよびAPEX_STRING
パッケージ内のプロシージャおよびファンクションを使用します。
ノート:
APEX_APPLICATION.G_Fnn
を使用する場合、APEX_UTIL
内のTABLE_TO_STRING
およびSTRING_TO_TABLE
ファンクションは非推奨です。かわりにAPEX_STRING.TABLE_TO_STRING
およびAPEX_STRING.STRING_TO_TABLE
を使用してください。
G_Fnn配列の参照
次の例では、APEX_ITEM
を使用してEMP
表に表形式を手動で作成します。ename
、sal
およびcomm
列では、APEX_ITEM.TEXT
ファンクションを使用して行ごとにHTMLテキスト・フィールドを生成します。また、各列がそれぞれの配列に格納されるように問合せ内のアイテムごとに一意のp_idx
パラメータが渡されます。
- 新しいページで、次の例のようなSQL問合せを含むクラシック・レポートを追加します。
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
- すべてのレポート列(ページ・デザイナの「セキュリティ」プロパティ下)で、「特殊文字をエスケープ」を無効にします。
- ページに「送信」ボタンを追加します。
- アプリケーションを実行します。
送信時プロセス内の値の参照
PL/SQL変数APEX_APPLICATION.G_F01
からAPEX_APPLICATION.G_F50
を使用して、表形式フォームによってポストされた値を参照できます。この要素は配列のため、値を直接参照できます。たとえば、次のコード・ブロックは、すべての従業員名をテキスト・ブロックとして収集し、P3_G_F01_CONTENTS
アイテムの値として格納します。
:P3_G_F01_CONTENTS := '';
for i IN 1..APEX_APPLICATION.G_F01.COUNT LOOP
:P3_G_F01_CONTENTS := :P3_G_F01_CONTENTS
|| 'element '||I||' has a value of '||APEX_APPLICATION.G_F02(i) || chr(10);
END LOOP;
APEX_ITEM.CHECKBOX
を使用して表示したチェック・ボックスには、選択されている行に対してのみAPEX_APPLICATION
配列の値が含まれることに注意してください。送信したすべての行に対応するAPEX_APPLICATION
配列のエントリを含めることができる他のアイテム(TEXT
、TEXTAREA
およびDATE_POPUP
)と異なり、チェック・ボックスには、行が選択されている場合にのみAPEX_APPLICATION
配列のエントリが含まれます。
親トピック: APEX_APPLICATION