寻找使用celltable在单行上显示多条记录的方法

时间:2014-09-03 15:26:08

标签: java gwt celltable two-columns

通常,对于POJO / DTO的GWT列表视图,我通常使用ListDataProider和CellTable,并将CellTable放入带有SimplePager的垂直面板中。一切都很好。

我有一个Pojo的DTO只有3个字段的场景;因此,创建一个列表视图会更好,我可以将两个DTO列彼此相邻并相应地页面。例如,不是每行只有三列,而是前六列代表一个DTO实例,而接下来的三个(重复)列代表第二个DTO实例。

在使用celltables或其他GWT组件之前,有没有人成功完成此操作?寻找一个简单的方法。

我的后备位置(足够好)是使用带有搜索表单的FlexTable并将结果限制为40条记录。两列20 DTO。

1 个答案:

答案 0 :(得分:0)

我做了类似的事情。我正在使用网格。对齐组件的关键是这行代码:

myGrid.setWidget(position/COLUMNS_NUMBER+1, position%COLUMNS_NUMBER, lName);

其中lName是一个GWT标签,其中包含要显示的元素(属性)(我的POJO / DTO的名称'属性)。 COLUMNS_NUMBER是我想要显示多少列的常量。

我只显示了这个属性,但你可以轻松地调整这个想法,以在不同的列中显示多个DTO的多个属性。我的算法只是迭代DTO集合,得到每个DTO的名称prpoerty,它将通过setWidget作为标签插入Grid中,并更新索引变量 position ,它开始于0

我也需要这个条件:

            if(position%COLUMNS_NUMBER==0){
                list.insertRow(position/COLUMNS_NUMBER +1);
            }

我只显示每个DTO的onew属性,但是这个想法也没有将每个属性放在不同的行中,并自定义显示的列数。同样,您可以通过调整增加索引变量位置的方式以及显示DTO属性的列或(甚至更简单)通过遵循相同的方法并且只选择来调整它以满足您的需求每次显示的不同属性,具体取决于

postiont%3 

因为你想要显示每个DTO的3个属性。

如果有帮助,请告诉我。