Wert einer Combobox in Datenquellen per Script festlegen
Author: daniel_philippi
Publication Date: 7/30/2014 12:14
Hallo Zusammen.
Ich möchte per Script Daten in eine Datenquelle schreiben. Das funktioniert auch soweit. Was mit noch fehlt ist die Verknüpfung zweier Tabellen.
Es soll im Prinzip genau anders herum wie hier beschrieben funktionieren:
https://community.e-spirit.com/message/9184#9181
Ich möchte nicht die Liste der Verbundenen Elemente verknüpfen, sondern einen Wert aus einer anderen Tabelle auswählen und in eine Combobox speichern. In dem verklikten Beispiel möchte ich einem Partner eine News zuweisen.
Daher die Frage, wie kann ich einen Wert einer Combobox per Script setzen.
Hier mein bisheriger Ansatz:
dataSet = c2Element.getDataset(entity);
FormData data = dataSet.getFormData();
data.get(context.getProject().getMasterLanguage(), "cs_category").set(fs_id_of_other_table)
dataSet.setFormData(data);
dataSet.save();
Da bekomme ich aber einen Fehler:
Invalid value for 'cs_category' (de.espirit.firstspirit.access.store.templatestore.gom.GomCombobox)
Muss ich hier ein Option Objekt erzeugen und das zuweisen? Wenn ja wäre die Frage wie?
Gruß,
Daniel
Tags: datenquellen, option
-
Author: StefanSchulz - 7/30/2014 12:48
Hi Daniel,
über die FS_ID funktioniert es nicht.
Der wohl gangbare Weg ist, sich das GomFormElement der cs_category zu holen (data.getForm().findEditor("cs_category")). Bei einer Combobox implementiert dieses das Interface OptionFactoryProvider (evtl. sicherheitshalber im Skript prüfen). Über dieses kannst du dir die zugehörige OptionFactory holen, die dir eine Methode create(Object) anbietet. Diese nimmt unter anderem einen Datensatz als Parameter und erzeugt ein entsprechendes Options-Objekt. Mit diesem kannst du die Combobox füttern.
Grüße
Stefan
0
Please sign in to leave a comment.
Comments
1 comment