列リンクを使用してレコードを選択して別のページに移動するか、ラジオボタンとページボタン/リンクを使用してそれを行うことができます。 DEPTテーブルの簡単なレポートを使用して両方を示します。
方法1:ラジオボタン
ラジオボタンの場合、apex_item.radiogroup
を使用して、レポートに列を追加できます。 値がDEPTNOであるラジオボタンを作成する関数:
デフォルトでは、ラジオグループのHTMLはセキュリティ上の理由でエスケープされます。これは、必要なものではありませんが、非常にうまく機能していることを示しています。
columnプロパティを「StandardReportColumn」に変更することで修正できます:
今、私たちは見る:
任意の行のラジオボタンをクリックすると、そのボタンが選択され、他の行のボタンの選択が解除されます。
選択した行の別のページに移動するには、特別なリクエストでページを送信するためのボタンが必要です:
クリックすると、そのボタンは「SELECT」(私が選択したボタン名)のリクエスト値でページを送信します。したがって、リクエストが「SELECT」のときに起動する送信ページプロセスを記述し、選択されているラジオボタン(存在する場合)を見つけて、選択したDEPTNOをP34_DEPTNOなどの非表示アイテムに保存できます。 APEX配列apex_application.g_f01
を調べることで、どのボタンを見つけるかがわかります。 1
を渡すことで選択しました apex_item.radiogroup
の最初のパラメータとして :
if apex_application.g_f01.count > 0 then
-- Array has been populated i.e. user chose a value
:p34_deptno := apex_application.g_f01(1);
else
-- Array has not been populated i.e. user did not choose a value
:p34_deptno := null;
end if;
次に、(a)request ='SELECT'であり、(b)P34_DEPTNOがnullでない場合に、新しいページに移動するブランチを定義できます。
以上です。かなり多くの作業が必要ですが、それが必要な場合はそれを実行します。
方法2:列のリンク
より簡単な方法は、ラジオボタンを省略し、レポート列の1つをリンクにすることです。
これにより、列(DNAMEを選択)が、選択したDEPTNO値を使用して新しいページに移動するリンクに変わります。
それでおしまい!非表示のアイテム、ボタン、ページプロセス、ブランチはありません...