2011-11-16 27 views
0

我正在一個個人項目,我有一個formPanel。在表單面板中,我有一個flexTable。其中有複選框的行。在動態添加的每一行中,行的末尾都會有一個「清除」標籤。該標籤有一個單擊處理程序來獲取選定的行ID並將其從Flex表中刪除。如何在GWT中創建可重用的小部件和對象?

但是,在GWT中,我只能使用我的標籤實例一次。所以每次添加新行時,清除標籤總是最後一個並且不可重複。我希望能夠重複清除,同時保留刪除相應行的功能。我對這個和Java很新,所以任何幫助將不勝感激。謝謝!

Ps。我使用UiBinder創建這些頁面,但不確定這是否有所幫助。謝謝!

+1

請張貼代碼。 –

回答

0

控件只能有一個父項。因此,每次將相同的標籤實例添加到新行時,它都會被GWT從前一行中刪除,並插入到新行中。一種選擇是每行創建一個標籤實例。您可以在表中設置單擊處理,並檢查單擊的單元:

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

你有沒有考慮過使用CellTable代替FlexTable?它應該有更好的表格單元格中的多個小部件的性能。

相關問題