PDA

View Full Version : Problem with SimpleComboBox and Double



ronbreizh
18 Jan 2010, 5:34 AM
Hello,

I have a problem with the SimpleComboBox and Double.

In my Database i have 0, 5.5, 14, 30, 40 and in the SimpleComboBox, there is 0, 5.5, 14.0000000000000000001, 30, 40.

Do you have an idea why?





final SimpleComboBox<Double> combo = new SimpleComboBox<Double>();
combo.setForceSelection(true);
combo.setEditable(false);
combo.setTriggerAction(TriggerAction.ALL);

final CellEditor editor = new CellEditor(combo) {
@Override
public Object preProcessValue(Object value) {
if (value == null) {
return value;
}
return combo.findModel((Double) value);
}

@Override
public Object postProcessValue(Object value) {
if (value == null) {
return value;
}
return ((ModelData) value).get("value");
}
};

combo.addListener(Events.OnClick, new Listener<BaseEvent>(){

public void handleEvent(BaseEvent be) {
combo.removeAll();

AsyncCallback<List<Double>> ass = new AsyncCallback<List<Double>>(){

public void onFailure(Throwable caught) {
MessageBox.alert(Crm.CRM, "Probl&egrave;me lors de la recherche pour l'ann&eacute;e s&eacute;lectionn&eacute;e.", null);
Log.error("Problème lors de la recherche pour l'année sélectionnée [ " + caught.getMessage() + " ]");
}

public void onSuccess(List<Double> result) {

if(null!=result && result.size()>0){

for(Double r : result){
combo.add(r);
}
combo.expand();


}else{
MessageBox.alert(Crm.CRM, "Probl&egrave;me lors de la recherche pour l'ann&eacute;e s&eacute;lectionn&eacute;e.", null);
Log.error("Problème lors de la recherche pour l'année sélectionnée (vide ou null).");
}

}

};

loadDouble(getStore().getAt(editor.row).getDate(), getStore().getAt(editor.row).getType(), ass);

}

});