Vaadin表行

时间:2012-08-11 13:01:49

标签: vaadin

我正在使用vaadin for UI,我有一个具有@OneToMany关系的实体类,因此Entity类有一个列表。所以我想在vaadin表中显示这些值,有人能解释我怎么做吗?谢谢,这是我的课程详情

@OneToMany
private List<Driver> driverList = new ArrayList<Driver>()

TempLocation类中的此字段。

所以当我从数据中查询时,我得到一个城市和一个驱动程序列表。在vaadin表中,我可以在一行中显示查询结果(假设我在一个包含多个驱动程序的数据库中只有一条记录)

让我们说我的表有两列“位置”和“驱动程序”,所以我想要显示多行的结果,我想通过列表并在时间显示一个驱动器与城市

目前它在表格中的显示方式。

| Driver_ _ __ _ __ _ __ _ ____ |位置| (表头)
[Driver1,Driver2,Driver3] | Kolonnanwa(排)

我想要显示这个

| Driver_ _ __ _ __ _ __ _ ___ |位置| (表头)
驱动1
_ __ _ __ _ __ _ __ _ _ | Kolonnawa(第1行)
Driver2_的 _ __ _ __ _ __ _ __ _ | Kolonnawa(第2行)
Driver3_的 _ __ _ __ _ __ _ ___ | Kolonnanwa(第3行)

“_”用于显示空格,

希望你得到我想表达的内容,谁能告诉我怎么做? 提前谢谢

谢谢你, 干杯

1 个答案:

答案 0 :(得分:2)

如果您只想要一种不同的方式来填充表格,我建议只需迭代您的驱动程序列表并为每个人创建一行(假设每个司机都知道他的城市)

检查此示例:

/* Create the table with a caption. */
Table table = new Table("This is my Table");

/* Define the names and data types of columns.
 * The "default value" parameter is meaningless here. */
table.addContainerProperty("Driver", String.class,  null);
table.addContainerProperty("City",  String.class,  null);

/* Add a few items in the table. */
int i = 1; 
for(Driver driver : driverslist){
table.addItem(new Object[] {
driver.getName(),driver.getCity(), new Integer(i));
i++
}

addItem()方法中的Integer用于rownumber。

请查看vaadin书中有关table component使用情况的文章。