我正在尝试使用新的Data Presentation Widgets(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;
}
});
答案 0 :(得分: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();
}
})) {...});
}