「断片」ビューの EGL ドロワー内の getClickedRowValue 断片は、
データ・テーブル内のクリックされた行でハイパーリンクされた値を検索する関数です。
この断片は、EGL JSF ハンドラー・パーツ内に置かなければなりません。この断片には、次の前提条件があります。
- JSP ページにはデータ・テーブルがある。
- JSP ID の名前は、デフォルトから変更されていない。
- ページのスコープが、faces-config.xml 内で、session
ではなく request として定義されている。
この断片を挿入し構成する手順は、次のとおりです。
- JSF ハンドラーで、クリックされた値を受け取る文字またはストリング変数を定義する。
- JSF ハンドラー内のブランク行で、関数を追加するために適正な位置にカーソルを置く。
(この断片に、EGL 関数全体が組み込まれます。)
- 「断片」ビューの EGL ドロワーで、「行値をクリック」断片をダブルクリックする。「テンプレートの挿入」ウィンドウが開きます。詳細については、『EGL コード断片の挿入』を参照してください。
- 「テンプレートの挿入」ウィンドウで、receivingVar
変数の値として、変数の名前を入力する。
- 「挿入」をクリックします。
- 「パレット」ビューの「拡張 Faces コンポーネント」ドロワーからコマンド・ハイパーリンクを、データ・テーブルのフィールドに追加する。
- コマンド・ハイパーリンクのターゲットに、JSP ページの名前を指定する。
このハイパーリンクは、独自のページにリンクします。
- ハイパーリンクにパラメーターを追加し、クリックされた値を受け取る JSF ハンドラー内の変数と同じ名前を、そのパラメーターに付ける。
- 「プロパティー」ビューの「すべて」タブにある action プロパティーを getVal() 関数に設定する。
この断片によって挿入されるコードは、次のとおりです。
function getVal()
javaLib.store((objId)"context",
"javax.faces.context.FacesContext",
"getCurrentInstance");
javaLib.store((objId)"root",
(objId)"context", "getViewRoot");
javaLib.store((objId)"parm",
(objId)"root",
"findComponent",
"form1:table1:param1");
recVar = javaLib.invoke((objId)"parm",
"getValue");
end