J'utilise GWT (Google Web Toolkit) 1.5.3 et GXT (ExtJS) 1.2 Je veux juste créer un formulaire simple avec quelques boutons radio générés après un appel RPC, pour obtenir des valeursGWT - GXT - Comment obtenir la valeur du bouton radio?
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);
Mon problème est que je ne peux pas définir/obtenir la valeur du bouton radio. Si j'essaie setRawValue ("xxxxxxx"), j'obtiendrai des erreurs nulles, alors que setValue (boolean) fonctionne mais je m'attendais à obtenir la valeur de la radio et non la valeur de l'étiquette.
Une idée?
radio.setValue() était exactement ce que je cherchais à trouver! – pbojinov