0

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

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

在使用 celltables 或其他 GWT 组件之前,有没有人成功地做到了这一点?寻找一种简单的方法。

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

4

1 回答 1

0

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

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

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

我只显示了这个属性,但您可以轻松地调整这个想法,在不同的列中显示多个 DTO 的多个属性。我的算法只是遍历 DTO 集合,获取每个 DTO 的名称 prpoerty,它将通过 setWidget 作为标签插入到网格中,并更新从 0 开始的索引变量位置

我也需要这个条件:

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

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

postiont%3 

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

让我知道这是否有帮助。

于 2014-09-03T18:01:31.123 回答