Hi,

I am working on a vote widget which shows the vote by barchart. I have
problem on refreshing, showing the new statistics, after the user
click the yes button or no button.
The constructor is doing it right. It is able to put up the initialize
statistics.
The problem is on redraw after the user click the vote button.

The following is the extract of my code

public class VoteChart extends BarChart{
    private VoteAccessAsync voteAccessProxy;

    private Object[][] data = new Object[][]{
            new Object[]{new String("Vote"), new Integer(0), new
Integer(0)} <------Initial vote stat
    };

    private int oid;
    MemoryProxy proxy;
    RecordDef recordDef;
    ArrayReader reader;
    private Store store;
    VoteChart(int _oid) //Constructor is doing the right job
    {
        oid=_oid;
        voteAccessProxy=(VoteAccessAsync)GWT.create(VoteAccess.class);
        ServiceDefTarget endpoint = (ServiceDefTarget)
voteAccessProxy ;
        endpoint.setServiceEntryPoint(GWT.getModuleBaseURL() + "/
VoteAccess");
//this.setTitle, setXField, setYField.....The X-Y axis are displayed
correctly
        recordDef = new RecordDef(
                new FieldDef[]{
                        new StringFieldDef("Vote"),
                        new IntegerFieldDef("Yes"),
                        new IntegerFieldDef("No"),
                }
        );

        proxy = new MemoryProxy(data);
        reader = new ArrayReader(recordDef);
        store = new Store(proxy, reader);
        store.load();
        this.setStore(store);
}

//This following part is the one needs to be fixed. The result returns
the correct info from database. The data is updated. The MemoryProxy
is re-constructed. Have tried various way including
store.commitchanges() but still doesnt re-draw the chart. Pleease
help.

    public void loadData()
    {
        //AsyncCallback<Vote>
        AsyncCallback<Vote> callback=
                new AsyncCallback<Vote>(){
                    public void onSuccess(Vote result) {
                        data = new Object[][]{
                                new Object[]{
                                        new
String(result.getQuestion()),
                                        new Integer(result.getYes()),
                                        new Integer(result.getNo())}
                        };
                        System.out.println("Data is loaded: " +
                                result.getQuestion() + " " +
                                result.getYes()+ " " +
                                result.getNo()
                        );
                        System.out.println("Store load and commit
changes");
                        //store.load();
                        //store.commitChanges();

                        proxy = new MemoryProxy(data);
                        reader = new ArrayReader(recordDef);
                        store = new Store(proxy, reader);
                        store.load();
                        VoteChart.this.setStore(store);
                        VoteChart.this.refresh();
                    }
                };
                voteAccessProxy.getVote(oid, callback);

    }

Thanks a lot

-- 
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