Search the FirstSpirit Knowledge Base
Wenn ich versuche Checkboxen vorzubelegen, erhalte ich eine Exception.
Wie muss ich vorgehen?
Danke
de.espirit.firstspirit.access.script.ExecutionException: Error in method invocation: Method set( java.util.HashSet ) not found in class'de.espirit.firstspirit.access.store.templatestore.gom.GomCheckbox'
// get a FormsAgent for creating a form from XML |
formsAgent=context.requireSpecialist(FormsAgent.TYPE);
form=formsAgent.getForm(gui.toString());
// get already selected target IDs
HashSet mappedTargets = new HashSet();
cs_targetmapping = element.getFormData().getForm().findEditor("cs_targetmapping");
optionFactory = cs_targetmapping.getOptionFactory();
optionModel = optionFactory.getOptionModel(context,null,false);
//get selected gui value
selectedValues = element.getFormData().get(null,"cs_targetmapping").get();
// Update selected targets
for(value:selectedValues){
mappedTargets.add(optionModel.getOption(value.toString())); |
}
form.getModel().findEditor("cs_target").set(mappedTargets); //<-- Exception
Dein Code arbeitet mit der Formulardefinition. Ist das wirklich das gewünschte? "Wenn ich versuche Checkboxen vorzubelegen" hört sich für mich mehr danach an, als ob du im Formular Werte setzen möchtest.
Dafür müsstest du über "getFormData().get(<Sprache>, <Feld-Name>).get(..) / set(..)" arbeiten (also ohne "getForm()").
Ich habe halt rumprobiert ...
Wie bekomme ich das FormData aus dem FormAgent bevor ich das Formular ausgebe?
Wie bekomme ich das FormData aus dem FormAgent bevor ich das Formular ausgebe?
Gar nicht.
Der Ablauf ist:
1) Formular erzeugen (FormAgent)
2) Daten-Container erzeugen ("createFormData")
3) Vorbelegung / Werte setzen [optional]
4) Formular anzeigen
5) Werte auslesen