使用GWT在FlexTable中进行分页

时间:2013-03-19 10:22:30

标签: java gwt

我需要为我的应用程序的FlexTable小部件实现“分页”:

这是我的初始代码,它将Product呈现为3列单元格:

public void renderProducts(Map<Long, Product> mp) { 
    int i = 0;
    int j = 0;

    Iterator it = mp.entrySet().iterator(); 
    while (it.hasNext()) {
        Map.Entry pairs = (Map.Entry)it.next();

        Product product = (Product) pairs.getValue();
        ProductWidget pw = productInstance.get();
        pw.setTitle(product.getName());
        pw.setImageUrl(product.getImageUrl());
        pw.setContent(product.getInfo());
        pw.setUrl(product.getUrl()); // "More" button anchor
        List<String> feats = product.getFeatures();
        for (String f : feats){
            pw.addFeature(f);
        }

        flextable.setWidget(i, j, pw);
        j++;
        if (j == 3){ 
            i++;
            j = 0;
        }
        it.remove(); // avoids a ConcurrentModificationException
    }
}

需要在N页中进行分页。我最初的想法是将地图分成地图列表......

我的意思是,FlexTable有“数据源”吗?

1 个答案:

答案 0 :(得分:1)

如果您确实需要使用FlexTable并提供分页,最好使用单元格表so older question。简单的寻呼机可以实现您想要的所有功能。

如果您想使用FlexTable,您必须提供自己的寻呼机实现。这可以通过各种方式完成,使用下一个和上一个按钮或标签添加点击处理程序并进行迭代。

由于没有以任何方式订购商品,地图也不是可行的方式。我会将所有项目添加到列表中,并将所述列表用作我的数据源。

您还需要一种方法来保存当前页面和项目/页面(如果您希望在页面更改后保存它,可能是静态变量)