This helped me a lot :-)
Thanks guys!

On Jun 3, 2:14 pm, Paul Stockley <pstockl...@gmail.com> wrote:
> Sorry my message got truncated:
>
> Your over complicating it. You should just subclass
> AsyncListViewAdapter such as:
>
>         protected class residentAsyncAdapter extends
> AsyncListViewAdapter<ResidentListDO>{
>                 @Override
>                 protected void onRangeChanged(ListView<ResidentListDO> view) {
>                         Range newRange = view.getRange();
>
>                         updateViewData(newRange.getStart(), 
> newRange.getLength(), <a list
> of data for the requested range>);
>                 }
>         }
>
> Then add the table as a view of the adapter
>
> CellTable<ResidentListDO> residentTable = new
> CellTable<ResidentListDO>(5);
>
>   Column<ResidentListDO, String> unitColumn = new
> Column<ResidentListDO, String>(new TextCell()) {
>                 @Override
>                 public String getValue(ResidentListDO object) {
>                         return object.getUnit();
>                 }
>
> };
>
> residentTable.addColumn(unitColumn, "Unit");
>
> SimplePager<ResidentListDO> thePager = new
> SimplePager<ResidentListDO>(residentTable);
> residentTable.setPager(thePager);
>
> mainGridContainer.add(residentTable);
> pagerContainer.add(thePager);
>
> residentAsyncAdapter residentTableAdapter = new
> residentAsyncAdapter();
> residentTableAdapter.addView(view.residentTable);
> residentTableAdapter.updateDataSize(<size of data set>, true);
>
> If you have a list on the client already for the data set it is even
> easier. Instead of using
> AsyncListViewAdapter use ListViewAdapter as follows:
>
> List<ResidentListDO> ourList = new ArrayList<ResidentListDO>();
> ListViewAdapter<ResidentListDO> residentTableAdapter = new
> ListViewAdapter<ResidentListDO>(ourList );
> residentTableAdapter.addView(view.residentTable);
> //No need to call updateDataSize
>
> On Jun 3, 7:52 am, Paul Stockley <pstockl...@gmail.com> wrote:
>
> > Your making it overly complicated:
>
> > For the case where you have all the data in a list already:
>
> >             Column<ResidentListDO, String> unitColumn = new
> > Column<ResidentListDO, String>(new TextCell()) {
> >                 @Override
> >                 public String getValue(ResidentListDO object) {
> >                         return object.getUnit();
> >                 }
> >                 };
>
> >                 Column<ResidentListDO, String> nameColumn = new
> > Column<ResidentListDO, String>(new TextCell()) {
> >                 @Override
> >                 public String getValue(ResidentListDO object) {
> >                         return object.getName();
> >                 }
> >                 };
>
> >                 residentTable.addColumn(unitColumn, "Unit");
> >                 residentTable.addColumn(nameColumn, "Name");
>
> >                 SimplePager<ResidentListDO> thePager = new
> > SimplePager<ResidentListDO>(residentTable);
> >                 residentTable.setPager(thePager);
>
> >                 mainGridContainer.add(residentTable);
> >                 pagerContainer.add(thePager);
>
> >                residentTableAdapter = new residentAsyncAdapter();
>
> > On Jun 2, 11:18 pm, Andrew <yenchu.chen...@gmail.com> wrote:
>
> > > 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