首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >GWT CellTable和SimplePager问题

GWT CellTable和SimplePager问题
EN

Stack Overflow用户
提问于 2011-10-06 18:42:26
回答 1查看 2.2K关注 0票数 0

我在我的GWT2.4项目中使用了CellTable<Contact>。一切都运行得很好,所以我决定使用SimplePager向表中添加分页功能。CellTable现在显示正确的条目数(页面大小),但所有的页面导航按钮都被禁用。

我正在做以下工作:

代码语言:javascript
复制
...
@UiField(provided=true) CellTable<Contact> contactsTable = new CellTable<Contact>();
@UiField SimplePager pager;

private TextColumn<Contact> nameColumn;
private TextColumn<Contact> surnameColumn;

public ViewContactsViewImplDesktop() {
    initWidget(uiBinder.createAndBindUi(this));
    initTable();
}

@Override
public final void updateContactList(final ArrayList<Contact> contacts) {
    contactsTable.setRowCount(contacts.size());

    final ListDataProvider<Contact> dataProvider = new ListDataProvider<Contact>();

    List<Contact> list = dataProvider.getList();

        for (final Contact c : contacts) {
            list.add(c);
        }

        dataProvider.addDataDisplay(contactsTable);

        pager = new SimplePager();
        pager.setDisplay(contactsTable);
        pager.setPageSize(3);

        ListHandler<Contact> nameColumnSorter = new ListHandler<Contact>(list);
        ListHandler<Contact> surnameColumnSorter = new ListHandler<Contact>(list);

        nameColumnSorter.setComparator(nameColumn, new Comparator<Contact>() {
            @Override
            public int compare(Contact c1, Contact c2) {
                return c1.getName().compareTo(c2.getName());
            }
        });

        surnameColumnSorter.setComparator(surnameColumn, new Comparator<Contact>() {
            @Override
            public int compare(Contact c1, Contact c2) {
                return c1.getSurname().compareTo(c2.getSurname());
            }
        });

        contactsTable.addColumnSortHandler(nameColumnSorter);
        contactsTable.addColumnSortHandler(surnameColumnSorter);
        contactsTable.getColumnSortList().push(nameColumn);
    }

    private void initTable() {
        nameColumn = new TextColumn<Contact>() {
            @Override
                public String getValue(Contact contact) {
                    return contact.getName();
                }
            };

            surnameColumn = new TextColumn<Contact>() {
                @Override
                public String getValue(Contact contact) {
                    return contact.getSurname();
                }
            };

            nameColumn.setSortable(true);
            surnameColumn.setSortable(true);

            contactsTable.addColumn(nameColumn, "Name");
            contactsTable.addColumn(surnameColumn, "Surname");
    }

谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-10-06 19:24:19

不设置页面大小和/或不手动设置表的行数可以做到这一点,正如我在评论中所暗示的那样。

我很乐意提供一个简洁的代码示例,但目前还不能使用cell小部件访问任何代码。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7673185

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档