I'm trying to figure out how to use AsyncDataProvider with CellTable so I've this test code that has a Simple pager that is initialized and working ( display full range and current range and you can use (<<) (<) (>) (>>) )
the table is shows the headers but no dat what's wrong ///////////////////////////// package fr.metronome.web.client.table; import java.util.Arrays; import java.util.Date; import java.util.List; import com.google.gwt.cell.client.DateCell; import com.google.gwt.core.client.EntryPoint; import com.google.gwt.core.client.GWT; import com.google.gwt.requestfactory.ui.client.EntityProxyKeyProvider; import com.google.gwt.user.cellview.client.CellTable; import com.google.gwt.user.cellview.client.Column; import com.google.gwt.user.cellview.client.SimplePager; import com.google.gwt.user.cellview.client.SimplePager.TextLocation; import com.google.gwt.user.cellview.client.TextColumn; import com.google.gwt.user.client.Window; import com.google.gwt.user.client.ui.Composite; import com.google.gwt.user.client.ui.RootPanel; import com.google.gwt.user.client.ui.VerticalPanel; import com.google.gwt.view.client.AsyncDataProvider; import com.google.gwt.view.client.HasData; import fr.metronome.web.client.database.clientdao.CRegIndexBodyTableClientDAO; import fr.metronome.web.client.database.clientdao.ClientDAO; import fr.metronome.web.client.events.CRegIndexBodyTableCountEvent; import fr.metronome.web.client.events.CRegIndexBodyTableCountEventHandler; import fr.metronome.web.client.events.CRegIndexBodyTableEntriesLoadedEvent; import fr.metronome.web.client.events.CRegIndexBodyTableEntriesLoadedEventHandler; import fr.metronome.web.client.events.CRegIndexBodyTablesLoadedEvent; import fr.metronome.web.client.events.CRegIndexBodyTablesLoadedEventHandler; import fr.metronome.web.client.proxies.CRegIndexBodyTableProxy; import fr.metronome.web.client.util.Fmt; public class CellTableEx extends Composite { AsyncDataProvider<CRegIndexBodyTableProxy> provider = new AsyncDataProvider<CRegIndexBodyTableProxy>( new EntityProxyKeyProvider<CRegIndexBodyTableProxy>()) { @Override protected void onRangeChanged(HasData<CRegIndexBodyTableProxy> display) { int start = display.getVisibleRange().getStart(); fetch(start); } }; CellTable<CRegIndexBodyTableProxy> table; List<CRegIndexBodyTableProxy> bodies = null; Integer numRows =3; Long regId = 21049L; Long maxRows = 0L; Integer curStart = 0; public CellTableEx () { table = buildTable(); table.setPageSize(numRows); SimplePager.Resources pr = GWT.create(SimplePager.Resources.class); SimplePager pager = new SimplePager(TextLocation.CENTER,pr,false,0,true); pager.setDisplay(table); VerticalPanel vp = new VerticalPanel(); vp.add(table); vp.add(pager); initWidget(vp); provider.addDataDisplay(table); /////////// Gets Count ClientDAO.getControler() .getEventBus().addHandler( CRegIndexBodyTableCountEvent.TYPE, new CRegIndexBodyTableCountEventHandler() { @Override public void onLoaded(CRegIndexBodyTableCountEvent event) { maxRows = event.getCount(); provider.updateRowCount(maxRows.intValue() , true); fetch(0); // Asking for data } }); ///////////////// getting Data Range ClientDAO.getControler() .getEventBus().addHandler( CRegIndexBodyTableEntriesLoadedEvent.TYPE, new CRegIndexBodyTableEntriesLoadedEventHandler() { @Override public void onLoaded(CRegIndexBodyTableEntriesLoadedEvent event) { provider.updateRowData(0, event.getBodies()); Window.alert("Updateted Size " + event.getBodies().size() + " max " + maxRows ); } }); //// Asking for Count CRegIndexBodyTableClientDAO.countByRegistre(regId); } private CellTable<CRegIndexBodyTableProxy> buildTable () { CellTable<CRegIndexBodyTableProxy> t = new CellTable<CRegIndexBodyTableProxy>(numRows); TextColumn<CRegIndexBodyTableProxy> viewColumn = new TextColumn<CRegIndexBodyTableProxy>() { @Override public String getValue(CRegIndexBodyTableProxy body) { return body.getView().toString(); } }; TextColumn<CRegIndexBodyTableProxy> typeColumn = new TextColumn<CRegIndexBodyTableProxy>() { @Override public String getValue(CRegIndexBodyTableProxy body) { return body.getType(); } }; TextColumn<CRegIndexBodyTableProxy> dateColumn = new TextColumn<CRegIndexBodyTableProxy>() { @Override public String getValue(CRegIndexBodyTableProxy body) { return Fmt.year(body.getDate()); } }; TextColumn<CRegIndexBodyTableProxy> nameColumn = new TextColumn<CRegIndexBodyTableProxy>() { @Override public String getValue(CRegIndexBodyTableProxy body) { return body.getPatronyme().getName(); } }; t.addColumn(viewColumn, "Vue"); t.addColumn(typeColumn, "T"); t.addColumn(dateColumn, "Date"); t.addColumn(nameColumn, "Noms"); return t; } private void fetch( Integer start ) { curStart = start; CRegIndexBodyTableClientDAO.findEntries(regId, start, numRows); } } -- 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-toolkit@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.