2011-03-07 110 views
0

我嘗試使用新的數據表示小工具(cellTable)數據展示窗口小部件+ MVP

現在的演示中,我想提出,我以前從這裏How to use GWT 2.1 Data Presentation Widgets的例子中的每一行一列,以創建一個按鈕。

我對MVP的理解是,我需要將HasClickEvents公開給我的主持人。我該如何做到這一點?

現在我有

projectGrid.addColumn(new Column<DataDTO, DataDTO>(new ActionCell<DataDTO>("Assign", new Delegate<DataDTO>() { 
      public void execute(DataDTO row) { 
       //Attach it here? 
       Window.alert(row.toString()); 

      } 
     })) { 

      @Override 
      public DataDTO getValue(DataDTO object) { 
       // TODO Auto-generated method stub 
       return object; 
      } 


     }); 

回答

1

是,Delegate#execute()是調用回調到演示正確的地方。有幾種方法可以做到這一點,但我覺得讓我的觀點能夠處理演示者並且在演示者中定義回調方法會更容易:

class MyPresenter { 
    public void onAssign() { 
    // Perform action. 
    } 
} 

class MyView { 
    private MyPresenter presenter; 

    public MyView() { 
    projectGrid.addColumn(
     new Column<DataDTO, DataDTO>(
     new ActionCell<DataDTO>("Assign", new Delegate<DataDTO>() { 
      public void execute(DataDTO row) { 
      presenter.onAssign(); 
      } 
     })) {...}); 
    }