0

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

现在对于我正在制作的演示,我使用了此处的示例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;
            }


        });
4

1 回答 1

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();
          }
        })) {...});
  }
于 2011-03-08T01:40:31.357 回答