Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java EE (J2EE) и Spring > GridPanel Paging


Автор: SLAER 13.7.2009, 13:58
Здравствуйте. Необходимо реализовать постраничное отображение информации в GridPanel. Создаю Грид:
Код

final RecordDef recordDef = new RecordDef(new FieldDef[]{
            new StringFieldDef("number"),
            new StringFieldDef("Id"),
            new StringFieldDef("name"),
            new StringFieldDef("size")
        });
final ColumnModel columnModel = new ColumnModel(new ColumnConfig[]{
            new ColumnConfig("№", "number", 15, true),
            new ColumnConfig("Id", "Id", 15, false),
            new ColumnConfig("Имя файла", "name", 100, true),
            new ColumnConfig("Размер файла", "size", 100, true)
        });

    ArrayReader reader = new ArrayReader(recordDef);
    final Store store = new Store(reader);

    final PagingToolbar pagingToolbar = new PagingToolbar(store);
    pagingToolbar.setPageSize(5);

    NumberField pageSizeField = new NumberField();
    pageSizeField.setWidth(40);
    pageSizeField.setSelectOnFocus(true);
    pageSizeField.addListener(new FieldListenerAdapter() {
        public void onSpecialKey(Field field, EventObject e) { if (e.getKey() == EventObject.ENTER)
        { int pageSize = Integer.parseInt(field.getValueAsString());
            pagingToolbar.setPageSize(pageSize); } } });

ToolTip toolTip = new ToolTip("Enter page size"); toolTip.applyTo(pageSizeField);
pagingToolbar.addField(pageSizeField); 

    grid.setBottomToolbar(pagingToolbar);

        grid.setStore(store);
        grid.setColumnModel(columnModel);
        grid.setWidth(414);
        grid.setHeight(200);
        grid.setAutoWidth(false);
        //grid.setAutoHeight(true);
        grid.setBorder(true);
        grid.setAutoScroll(false);
       
        grid.setFooter(false);
        grid.focus(true);
        grid.setFrame(true);
        grid.stripeRows(true);
        GridView view = new GridView();
        view.setForceFit(true);
        grid.setView(view);
        fieldSetWork.add(grid);

    if (store == null) {
        return;
    }

но отображает все данные почему-то на одной странице. подозреваю что дело в store. В связи с этим вопрос такой: можно ли выбирать из базы все данные, а отображать их на страницах грида фиксированного размера?

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)