The following code is what I'm woking on, hope it can help you:

protected void init() {
                VerticalPanel container = new VerticalPanel();
                initWidget(container);

                int pageSize = 10;
                CellTable<User> cellTable = new CellTable<User>(pageSize);
                setColumns(cellTable);
                setSelectionModel(cellTable);

                setDataSize(cellTable);
                int pageStart = 0;
                loadData(pageStart, pageSize, cellTable);

                SimplePager<User> pager = createPager(cellTable);

                container.add(cellTable);
                container.add(pager);
        }

        private SimplePager<User> createPager(final CellTable<User>
cellTable) {
                SimplePager<User> pager = new SimplePager<User>(cellTable,
                                SimplePager.TextLocation.CENTER) {
                        public void onRangeOrSizeChanged(PagingListView<User> 
listView) {
                                loadData(listView.getPageStart(), 
listView.getPageSize(),
                                                listView);
                                super.onRangeOrSizeChanged(listView);
                        }
                };
                return pager;
        }

        private void setColumns(CellTable<User> cellTable) {
                cellTable.addColumn(new TextColumn<User>() {
                        @Override
                        public String getValue(User user) {
                                return user.getName();
                        }
                }, new TextHeader("Name"));

                cellTable.addColumn(new TextColumn<User>() {
                        @Override
                        public String getValue(User user) {
                                return user.getLocation();
                        }
                }, new TextHeader("Location"));
        }

        private void setSelectionModel(CellTable<User> cellTable) {
                final SingleSelectionModel<User> selectionModel = new
SingleSelectionModel<User>();
                SelectionChangeHandler selectionHandler = new
SelectionChangeHandler() {
                        @Override
                        public void onSelectionChange(SelectionChangeEvent 
event) {
                                User user = selectionModel.getSelectedObject();
                                Window.alert(user.getId() + ": " + 
user.getName());
                        }
                };
                selectionModel.addSelectionChangeHandler(selectionHandler);
                cellTable.setSelectionEnabled(true);
                cellTable.setSelectionModel(selectionModel);
        }

        private void setDataSize(final PagingListView<User> cellTable) {
                employeeRequest.countUsers(new AsyncCallback<Integer>() {
                        public void onFailure(Throwable caught) {
                                Window.alert("Request failure: " + 
caught.getMessage());
                        }

                        public void onSuccess(Integer result) {
                                cellTable.setDataSize(result, true);
                        }
                });
        }

        private void loadData(int start, int size,
                        final PagingListView<User> cellTable) {
                employeeRequest.getUsers(start, size,
                                new AsyncCallback<PagingData<User>>() {
                                        public void onFailure(Throwable caught) 
{
                                                Window.alert("Request failure: 
" + caught.getMessage());
                                        }

                                        public void onSuccess(PagingData<User> 
result) {
                                                
cellTable.setData(result.getStart(),
                                                                
result.getLength(), result.getValues());
                                        }
                                });
        }

-- 
You received this message because you are subscribed to the Google Groups 
"Google Web Toolkit" group.
To post to this group, send email to google-web-tool...@googlegroups.com.
To unsubscribe from this group, send email to 
google-web-toolkit+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-web-toolkit?hl=en.

Reply via email to