2011-11-16 12 views
0

私はformPanelを持っている個人的なプロジェクトに取り組んでいます。フォームパネルの中に、私はflexTableを持っています。チェックボックス付きの行があります。動的に追加される各行には、行の最後に「クリア」ラベルが表示されます。ラベルにはクリックされた行IDを取得してflexテーブルから削除するためのクリックハンドラがあります。GWTで再利用可能なウィジェットとオブジェクトを作成するには?

しかし、GWTではラベルインスタンスを1回しか使用できません。したがって、新しい行が追加されるたびに、クリアラベルは常に最後に死んでいて繰り返しが不可能です。私は対応する行を削除する機能を維持しながら、クリアを繰り返すことができるようにしたいと思います。私はこれとJavaで非常に新しいので、どんな支援も大いに評価されます。ありがとう!

ps。私はUiBinderを使用してこれらのページを作成していますが、違いがあれば分かりません。ありがとう!

+1

コードを投稿してください。 –

答えて

0

ウィジェットには親が1つしか存在できません。したがって、同じラベルインスタンスを新しい行に追加するたびに、前の行からGWTによって削除され、代わりに新しいラベルに挿入されます。 1つの選択肢は、行ごとにラベルのインスタンスを1つ作成することです。あなたは、クリックされたセルのテーブルの上にクリックハンドラを設定して確認することができます。

@UiHandler("table") 
void onTableClick(ClickEvent event) { 
    Cell cell = table.getCellForEvent(event); 
    if (cell != null) { 
     int rowIndex = cell.getRowIndex(); 
     int cellIndex = cell.getCellIndex(); 
    } 
} 

があなたの代わりにFlexTableのCellTableを使用して検討していますか?それは、テーブルセル内の複数のウィジェットでより良いパフォーマンスを持つ必要があります。

関連する問題