2009-07-06 10 views
1

今はScrollTable from GWT Incubatorで遊んでいます。ユーザーがある行を選択してから編集ボタンをクリックすると、その特定のオブジェクトを編集できるようになりました。GWT ScrollTableからオブジェクトを取得

myObject = getObjectFromDBbyID(dataTable.getText(secRowPosition, 0)); 

このメソッドは正常に動作します:今、私は、一意のIDを選択し、そのオブジェクトのための私のデータベースを照会するために、行と列のための私のdataTableを照会し、その後

Integer secRowPosition = e.getSelectedRows().iterator().next().getRowIndex(); 

を選択されていたものを、行をチェックする必要があります私のためには、テーブルからオブジェクトを直接取得し、データベースを作成することはできませんので、データベースを照会することなく時間を節約できます。

私はそれを行うためにScrollTableの行に各オブジェクトを割り当てる必要があると仮定します。何か案は?

答えて

1

もっと良い方法があるかもしれませんが、私が使ったアプローチの1つは、編集するオブジェクトへの参照をボタンウィジェット内に保存することです。これを行うには、Buttonを拡張してすべての行にインスタンスを追加します。

対応する編集ボタンがクリックされると、適切なオブジェクトがすぐに利用可能になります。

0

テーブルにオブジェクトのリストを入力する場合は、テーブル行のインデックスを取得し、リストから対応するオブジェクトを取得するだけです。

+0

ユーザがテーブルをソートすると、インデックス付きIDはArrayList内のものとは異なるでしょう。 – Maksim

0

ラベルにIDフィールドを追加すると、ラベルを並べ替えることができます。

0

テーブルに一意のIDが表示されている場合は、HashMap<YourId,YourObject>をそのまま使用できます。

これはソートの影響を受けません。

関連する問題