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.

Reply via email to