动态创建 GWT CellTable
我遇到了 GWT CellTable 的问题。我需要动态创建单元格表,但我没有实体(Bean)类来执行此操作。我已经看过所有 celltable 的示例,并且搜索了很多,以便在没有实体类的情况下做到这一点。
我需要根据数据库中存储的一些元数据动态填充表。我能够创建表结构
考虑有两个类,一个是 GRID,另一个是 COLUMN,用于元数据和列定义。 GRID 将具有列列表作为列定义
Class GRID {
List<COLUMN> columns;
}
Class COLUMN {
String columnName;
}
现在我需要从数据库获取网格并循环列以填充单元格(列),如下所示:
com.google.gwt.user.cellview.client.Column<String, String> textColumn = new Column<String, String>(
new EditTextCell()) {
@Override
public String getValue(String object) {
return object;
}
};
现在,我需要向单元格表添加一些数据。但如果没有实体,就没有如何填充不同列的示例。我自己尝试过:(考虑网格有 3 列)
List<String> data;
String a1 = "A1";
String a2 = "A2";
String a3 = "A3";
data = new ArrayList<String>();
data.add(a1);
data.add(a2);
data.add(a3);
final AsyncDataProvider<String> provider = new AsyncDataProvider<String>() {
@Override
protected void onRangeChanged(HasData<String> display) {
updateRowData(0, data);
}
};
provider.addDataDisplay(grid);
provider.updateRowCount(data.size(), true);
我能够产生如下输出:
A1 A1 A1
A2 A2 A2
A3 A3 A3
实际上输出应该只是一行,
A1 A2 A3
但未能这样做。
请帮忙。
谢谢,
问候,
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您可以将“行”表示为
List
实例,您必须将参数化从String
更改为List
Grid
、Column
和数据提供者;当然,您必须使用List
> 调用
updateRowData
,而不是List
。每列还需要一个
Column
实例,按索引从List
中取出值:You can represent your "rows" as
List<String>
instances, you have to change your parameterization fromString
toList<String>
in yourGrid
,Column
and data provider; and of course you have to callupdateRowData
with aList<List<String>>
, not aList<String>
.You also need one
Column
instance per column, taking the value out of theList<String>
by index:我有一个类似的问题需要解决。作为 GWT 的初学者,Thomas Broyer 的回答对于我解决问题来说有点抽象。也许这段代码也可以帮助我旁边的其他人:
}
I had a similar problem to solve. As a beginner in GWT the answer of Thomas Broyer has been a little bit to abstract for me to get my problem solved. Maybe this snippet of code helps someone else beside me as well:
}