0

チェックボックス付きのJSFウッドストックテーブルがあります。行が選択されたら、それらのアイテムを処理したいと思います。RowKey オブジェクトの選択を取得できましたが、元のオブジェクトを取得する方法がわかりません。テーブルは、ObjectListDataProvider によって設定されます。

4

2 に答える 2

1

あなた自身の質問に答えることができるのはいつもうれしいです。テーブルのデータ プロバイダーを ObjectListDataProvider にキャストすることで問題を解決し、'getObject' メソッドを使用して元のオブジェクトを取得しました。

于 2008-09-19T09:59:24.843 に答える
0

だから私はこれに出くわし、実際に選択して行情報を取得する方法を見つけたいと思っていました。私は最終的にそれを理解し、他の人が私のやり方から恩恵を受けるかもしれないと思いました.

JSP のテーブル列に RadioButton を追加し、valueChangeListener を追加しました

<ui:radioButton id="radioButton1" name="radioButton-group1" valueChangeListener="#{MyBeanPage.radioButton1_processValueChange}" />

私の Java コードでは、valueChangeListener 関数を作成し、現在の行情報を保存しました。

public void radioButton1_processValueChange(ValueChangeEvent event) {
  TableRowDataProvider trdp = (TableRowDataProvider)getValue("#{currentRow}");
  setCurrentRowKey(trdp.getTableRow());  //Sets an instance variable for the RowKey
}

選択した行のデータを操作するボタンがある場合は、これを実行してオブジェクト データを取得できます。ジャスパーはこれについて上で述べました。

/*getObjectListDataProviderImpl() returns the implementation of 
 *ObjectListDataProvider for your dynamic data.
 */
getObjectListDataProviderImpl().getObject(getCurrentRowKey()); 

valueChangeListener を実行する代わりに、ラジオ ボタンの selectedValue 属性のようなものを他のものと組み合わせて使用​​し、valueChange 関数を実行する必要を回避できる場合がありますが、これはうまくいったので、別の方法を考え出す必要はありませんでした。

于 2010-08-12T23:40:28.967 に答える