Oracle APEX 24.1より対話グリッドにselectionStateItemというオプションが追加されました。このオプションにページ・アイテムを指定することで、対話グリッド上で選択した行の主キーの値をページ・アイテムに設定できます。
以前は対話グリッドのイベント選択の変更[対話グリッド]で呼び出される動的アクションを作成し、JavaScriptコードにて対話グリッド上の選択されたレコードの取得とページ・アイテムへの主キー値の設定を実施する必要がありました。
この実装方法については、記事「レポート上で選択した行のIDをページ・アイテムに設定する」で紹介しています。この記事ではクラシック・レポートでの実装も紹介していますが、Oracle APEX 24.1からはテンプレート・コンポーネントの属性に行選択(単一選択と複数選択)が追加されたため、こちらもコーディングはほぼ不要になっています。
対話グリッドでのselectionStateItemの設定は、初期化JavaScriptファンクション内で行います。
ページ・アイテムを作成し、そのページ・アイテムを以下のようなコードの記述によりselectionStateItemとして設定します。
function( config ) {
config.defaultGridViewOptions = {
selectionStateItem: "P1_SELECTION"
};
return config;
}
今回の記事は以上です。
簡単なアプリケーションですが、エクスポートを以下に置きました。
https://github.com/ujnak/apexapps/blob/master/exports/sample-grid-selectionstateitem.zip
Oracle APEXのアプリケーション作成の参考になれば幸いです。
完