[英]Showing Edit / Delete buttons for each row in a GWT CellTable?
我有一個顯示一些數據的單元格表。 對於每一行,我希望有兩列包含編輯/刪除按鈕。 當單擊每個按鈕時,它應該能夠通知偵聽器單擊了哪個按鈕(最好還可以傳遞與行關聯的對象)。
我怎樣才能做到這一點? 具體來說,我知道如何渲染按鈕,但是如何處理單擊事件並傳遞用戶單擊以編輯或刪除的對象?
這是標准方法:
myTable.addCellPreviewHandler(new Handler<MyObject>() {
@Override
public void onCellPreview(CellPreviewEvent<MyObject> event) {
if ("click".equals(event.getNativeEvent().getType())) {
if (event.getColumn() == 0 || event.getColumn() == 1) {
MyObject object = event.getValue();
Window.alert("Column clicked: " + event.getColumn());
}
}
}
});
這是一種更有效的解決方案,因為您只有一個處理程序附加到表上,而不是嘗試將處理程序附加到每一行的每個按鈕上。
我認為您可以遍歷單元格表中的所有行(我從未使用過單元格表)
然后,您可以將自己的ClickHandler添加到Button中。 那樣的東西(未經測試):
final int row = myrow; // add the row value or a object identifier or similar
Button delete_button = new Button("delete");
delete_button.addClickHandler(new ClickHandler(){
@Override
public void onClick(ClickEvent event) {
// Insert your delete funciton
delete(row);
}
});
您提到了一個偵聽器,該偵聽器已貶值,請改用Handler。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.