簡體   English   中英

為GWT CellTable中的每一行顯示編輯/刪除按鈕嗎?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM