GWT / MVP:使用适当的MVP模式检测表中的更改事件

时间:2010-07-09 19:13:28

标签: gwt mvp gwt-mvp

我们正在使用gwt-presenter,但实际上并不是一个特定的问题......

我有一张桌子,里面有用户。当我在视图中构建表时(根据演示者提供的数据),我需要在行的末尾添加两个操作按钮(“编辑”和“删除”)。

将点击处理程序分配给这些按钮的最佳方法是什么,以便演示者知道哪些被点击了?在此之前,我们可以将视图中的私有字段传递给演示者,并将离散的单击处理程序附加到该按钮。但是,这种方法相当严格,在这种情况下不能很好地工作。

提前致谢。

1 个答案:

答案 0 :(得分:3)

如何让视图允许订阅编辑/删除点击事件,在内部注册单个行点击事件,然后将事件处理委派给视图注册的事件处理?

我的意思是类似下面的pesudo代码:

查看:

addRowEditClickHandler(ClickHandler handler) {
    this.rowEditClickHandler = handler; 
}
addRowDeleteClickHandler(ClickHandler handler) {
    this.rowDeleteClickHandler = handler; 
}

//... somewhere when setting up of the grid...

rowEditButton.addClickHandler = new ClickHandler() {
    onClick(args) {
        this.rowEditClickHandler.onClick(args)

}

rowDeleteButton.addClickHandler = new ClickHandler() {
    onClick(args) {
        this.rowDeleteClickHandler.onClick(args)

}

主讲人:

View view = new View();
view.addRowEditClickHandler( new ClickHandler() {
    onClick(args) {
        doSomething();
    }
});
view.addRowDeleteClickHandler( new ClickHandler() {
    onClick(args) {
        doSomething();
    }
});