views:

4136

answers:

2

Hi

I am using GWT (Google Web Toolkit) 1.5.3 et GXT (ExtJS) 1.2 I just want to create a simple form with some radio buttons generated after a RPC call, to get some values

Code:

final FormPanel simple = new FormPanel();
     simple.setFrame(true);
     simple.setWidth(350);
     simple.setHeaderVisible(false);

     DateField date = new DateField();
     date.setFieldLabel("Date");
     simple.add(date);

     ListFluxServiceAsync service = (ListFluxServiceAsync)
     GWT.create(ListFluxService.class);
     ServiceDefTarget target = (ServiceDefTarget)service;
     String url = GWT.getModuleBaseURL() + "flux.rpc";
     target.setServiceEntryPoint(url);

     final RadioGroup radioGroup = new RadioGroup("RadioGroup");
     radioGroup.setFieldLabel("Flux");
     radioGroup.setOrientation(Orientation.VERTICAL);

     service.getAllFlux(new AsyncCallback<List<FluxModelData>>(){

      public void onFailure(Throwable caught) {
       GWT.log("flux.rpx::onFailure",  caught);
       MessageBox.alert("what?", "onFailure :" + caught.getMessage(), null);
      }

      public void onSuccess(List<FluxModelData> result) {

       Iterator<FluxModelData> it = result.iterator();
       while ( it.hasNext() ){
        FluxModelData fmd = it.next();
        Radio radio = new Radio();
        radio.setName("flux");
        radio.setValue(true);
        //radio.setRawValue("my very long value");
        radio.setBoxLabel(fmd.getDescription());
        radioGroup.add(radio);
       }

       simple.add(radioGroup);
       simple.layout(); //we need it to show the radio button

      }
     });



     simple.setButtonAlign(HorizontalAlignment.CENTER);

     Button button = new Button("Récupérer");
     button.addSelectionListener(new SelectionListener<ButtonEvent>(){

      @Override
      public void componentSelected(ButtonEvent ce) {

       MessageBox.alert("what?", radioGroup.getValue().getRawValue() , null);

      }});

     simple.addButton(button);


     RootPanel.get().add(simple);

My problem is I can't set/get radio button value. If I try the setRawValue("xxxxxxx"), I will get some null errors, while setting setValue(boolean) is working but I was expecting getting the radio value and not the label value.

Any Idea?

Thanks

Willome

A: 

Using radioButton.setItemId() and getItemId() resolve it.

A: 

I use radio.setAttributeValue() method to set value to radio button