Heres my code.. I'm using GWT 2.0.3 with smartGWT 2.2. I think this is
a GWT related question..

[CODE]
/**
 *
 */
package org.gwt.venus.client;

import com.google.gwt.core.client.EntryPoint;
import com.google.gwt.user.client.rpc.AsyncCallback;
import com.google.gwt.user.client.ui.RootPanel;

/**
 * @author npradeeptha
 *
 */
import com.smartgwt.client.data.DataSource;
import com.smartgwt.client.data.DateRange;
import com.smartgwt.client.data.RelativeDate;
import com.smartgwt.client.widgets.form.DynamicForm;
import com.smartgwt.client.widgets.form.fields.ComboBoxItem;
import com.smartgwt.client.widgets.form.fields.DateRangeItem;
import com.smartgwt.client.widgets.grid.ListGrid;
import com.smartgwt.client.widgets.grid.ListGridField;
import com.smartgwt.client.widgets.layout.HLayout;
import com.smartgwt.client.widgets.layout.VLayout;


public class VenusData implements EntryPoint {

        /* (non-Javadoc)
         * @see com.google.gwt.core.client.EntryPoint#onModuleLoad()
         */
        VenusDataSource  vds = new VenusDataSource();
        private RpcCallServiceAsync rpc = RpcInit.initRpc();
        String[] designstrings = null;

        @Override
        public void onModuleLoad() {
                // TODO Auto-generated method stub
        initializeDesignsArray();
        DataSource ds = vds.getDs();


        VLayout layout = new VLayout(8);

    HLayout searchFields = new HLayout();
    searchFields.setBackgroundColor("Cyan");


    DynamicForm searchForm = new DynamicForm();
        ComboBoxItem cmbDesigns = new ComboBoxItem("cmbDesigns", "Design");
        ComboBoxItem cmbCriteria = new ComboBoxItem("cmbCriteria",
"Criteria");
        cmbDesigns.setWidth("*");
        cmbCriteria.setWidth("*");
        cmbDesigns.setType("comboBox");


        //cmbDesigns.setValueMap(designstrings);
        cmbCriteria.setValueMap("FAST","HARSHA_FAST","NIJ_1");




        // Inline FilterEditor Example (MiniDateRangeItem)

        final DateRangeItem rangeItem = new DateRangeItem("Date");
    rangeItem.setWidth("*");
    rangeItem.setShowTitle(false);
    rangeItem.setAllowRelativeDates(true);



    DateRange dateRange = new DateRange();
    dateRange.setRelativeStartDate(new RelativeDate("m"));
    dateRange.setRelativeEndDate(new RelativeDate("m"));
    rangeItem.setValue(dateRange);

    searchForm.setNumCols(6);
    searchForm.setFields(cmbDesigns,cmbCriteria, rangeItem);
    searchFields.addMember(searchForm);

    // Create a ListGrid displaying data from the worldDS and also
displaying a FilterEditor
    final ListGrid dataGrid = new ListGrid();
    dataGrid.setWidth(655);
    dataGrid.setHeight(240);
    searchFields.setWidth(650);


    ListGridField builds = new ListGridField("build", "Build");
    builds.setWidth(130);
    ListGridField criteria = new ListGridField("criteria",
"Criteria");
    ListGridField design = new ListGridField("design", "Design");
    ListGridField lut = new ListGridField("lut", "LUT");
    ListGridField date = new ListGridField("date", "Date");
    ListGridField lut4 = new ListGridField("lut4", "Eq LUT4");
    ListGridField ble = new ListGridField("ble", "BLE FFs");
    ListGridField slack = new ListGridField("slack", "Slack");

  dataGrid.setFields(builds,criteria,design,date,slack,lut,lut4,ble);

   dataGrid.setDataSource(ds);
   dataGrid.setAutoFetchData(true);
   System.out.println(designstrings.length); //*** Gives a null
pointer error.
   cmbDesigns.setValueMap(designstrings); //does not set any values
since designstrings is null.

   layout.addMember(searchFields);
   layout.addMember(dataGrid);

    layout.draw();
    RootPanel.get("content").add(layout);
}

        public void initializeDesignsArray(){
                rpc.getDesign(new AsyncCallback<Design[]>() {

                        @Override
                        public void onFailure(Throwable caught) {
                                System.out.println("Design callback failed");

                        }

                        @Override
                        public void onSuccess(Design[] result) {
                                //System.out.println(result.length);
                                String[] designs = new String[result.length];

                                for(int i=0; i<designs.length; i++){

                                         designs[i] = result[i].design;
                                         System.out.println(designs[i]); // 
Prints the items so the
callback works and gets data..

                                }
                                loadDesigns(designs);

                        }
                });
        }

        public void loadDesigns(String[] result) {
                designstrings = result;
                System.out.println(designstrings.length); //works too

        }
}

[/CODE]

I have commented on the code where it works and goes wrong.. The
CallBack works perfectly but the variable is always null. Please
explain whats going on. Thanks!!

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

Reply via email to