gpt4 book ai didi

gwt - 如何使用 gwt 以 MVP 模式向演示者公开表格小部件

转载 作者:行者123 更新时间:2023-12-02 21:00:20 26 4
gpt4 key购买 nike

在 MVP 模式中,小部件( View )以如下形式公开其小部件:

@Override    
public HasClickHandlers getAddIssueClickHandlers() {
return addIssueButton;
}

以及喜欢:

@Override
public HasText getTaskName() {
return taskName; // taskName is a Label
}

允许演示者修改 View 或从小部件获取值。但是,不确定如何获取表格小部件(例如 FlexTable 或 CellTable)以便演示者修改表格。任何想法都非常感激。谢谢。

最佳答案

并非所有 GWT 小部件在设计时都考虑了这些接口(interface)(即 HasclickHandlersHasTextIsWidget 等)。
在最近的 GWT 版本中,基本小部件已更改,以便它们实现这些接口(interface),以便使使用它们的 View 在单元测试中可测试。所以我不确定 FlexTable 是否实现了这些接口(interface),但如果是 CellTable,您可以使用 HasData 界面。

在这里您可以找到CellTable实现的接口(interface):Javadoc

我个人会通过 HasData 公开 CellTable 接口(interface),可用于设置和检索选择模型(用于选择 CellTable 中的行)。
为了修改或更新 CellTable 中显示的数据,我将使用 ListDataProvider并将其存储在 Presenter 中。

@Override    
public HasData getCellTableDisplay() {
return cellTable;
}

以及在演示者的构造函数中您可以创建一个ListDataProvider并使用addDataDisplay函数添加CellTable:

final ListDataProvider<String> dataProvider = new ListDataProvider<String>();
dataProvider.addDataDisplay(getView().getCellTableDisplay);

关于gwt - 如何使用 gwt 以 MVP 模式向演示者公开表格小部件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6558476/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com