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 <[email protected]> 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 <[email protected]> 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 [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/google-web-toolkit?hl=en.