2011-03-07 114 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(); 
      } 
     })) {...}); 
    }