Установить виджет на Flextable

У меня есть этот код, который я использую для рендеринга продукта в виде сетки с помощью FlexTable:

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

            GWT.log("Success list all products count="+mp.size());

            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());

                flextable.setWidget(i, j, pw);
                i = j > 3 ? i : i++;
                j++;
                it.remove(); // avoids a ConcurrentModificationException
            }   

        }

Map mp возвратил 4 Продукты для рендеринга как виджет, однако только 3 рендерится на Flextable, что может быть не так в этом коде?


person quarks    schedule 08.03.2013    source источник
comment
'i = j ›3? я: я ++; j ++; ' что именно вы делаете с помощью этого кода? Укажите, пожалуйста, ваше требование, приведение продуктов в метрику 3x3?   -  person Dipak    schedule 09.03.2013
comment
да 3x3, я уже решил это, но ответы будут оценены ...   -  person quarks    schedule 09.03.2013
comment
на самом деле это 3 столбца и любое количество строк   -  person quarks    schedule 09.03.2013


Ответы (1)


flextable.setWidget(i, j, pw);
i = j > 2 ? i++:i;
j = j > 2 ? 0 : j++;

Я думаю, что это выдержит. 3 столбца и бесконечные ряды.

person Dipak    schedule 09.03.2013