Gwt 数据显示小部件+;最有价值球员

Gwt 数据显示小部件+;最有价值球员,gwt,gwt-mvp,Gwt,Gwt Mvp,我正在尝试使用新的数据表示小部件(cellTable) 现在,对于我正在制作的演示,我使用这里的示例为每一行在列中创建一个按钮 我对MVP的理解是,我需要从我的角度向我的演示者公开HasClickEvents。我如何做到这一点 现在我有 projectGrid.addColumn(new Column<DataDTO, DataDTO>(new ActionCell<DataDTO>("Assign", new Delegate<DataDTO>() {

我正在尝试使用新的数据表示小部件(cellTable)

现在,对于我正在制作的演示,我使用这里的示例为每一行在列中创建一个按钮

我对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;
            }


        });
projectGrid.addColumn(新列(新操作单元(“分配”),新委托(){
公共作废执行(数据到行){
//把它贴在这里?
Window.alert(row.toString());
}
})) {
@凌驾
公共数据到getValue(数据到对象){
//TODO自动生成的方法存根
返回对象;
}
});
是的,
委托#执行()
是调用对演示者的回调的正确位置。有几种方法可以做到这一点,但我发现将我的视图的句柄赋予其演示者,然后在演示者上定义回调方法更容易:

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();
          }
        })) {...});
  }
类MyPresenter{
公共无效onAssign(){
//执行操作。
}
}
类MyView{
私人MyPresenter;
公共MyView(){
projectGrid.addColumn(
新专栏(
新建ActionCell(“分配”,新委托(){
公共作废执行(数据到行){
presenter.onAssign();
}
})) {...});
}