Hallo,
folgendes habe ich vor.
Es soll eine Auswahlliste dynamisch aus den Datensätzen aus einer Datenquelle befüllt werden. An die Query von der Auswahlliste muss noch ein Parameter übergeben werden, dieser wird allerdings erst zur Laufzeit ermittelt.
Die Auswahlliste sieht wie folgt aus
<CMS_INPUT_COMBOBOX name="pt_st_left_mt_markt" allowEmpty="yes" useLanguages="no">
<CMS_INCLUDE_OPTIONS type="database">
<LABELS>
<LABEL lang="*">#item.displayName</LABEL>
</LABELS>
<QUERY name="data.ehmaerktebykaufmannuidandinhalt"/>
<TABLE>data.eh_maerkte</TABLE>
</CMS_INCLUDE_OPTIONS>
<LANGINFOS>
<LANGINFO lang="*" label="Markt" description="Markt"/>
</LANGINFOS>
</CMS_INPUT_COMBOBOX>
Die Query ehmaerktebykaufmannuidandinhalt erwartet noch einen Parameter, dieser wird über eine Regel ermittelt.
<ON_EVENT>
<SCHEDULE delay="50" id="hiddenKaufmannUid" service="RuleScriptExecuteService">
<CONDITION>
<PROPERTY name="EMPTY" source="hiddenKaufmannUid"/>
</CONDITION>
<PARAM name="scriptUID">
<TEXT>rule_get_kaufmannuid</TEXT>
</PARAM>
</SCHEDULE>
<DO>
<PROPERTY name="VALUE" source="hiddenKaufmannUid"/>
</DO>
</ON_EVENT>
Die Ermittlung erfolgt in einem Script (die Implementierung ist für den Fall unwichtig).
Damit der Paraemter noch an die Query übergeben wird, mache ich folgendes ->
<ON_EVENT>
<IF>
<PROPERTY name="FOCUS" source="pt_st_left_mt_markt"/>
</IF>
<WITH>
<PROPERTY name="VALUE" source="hiddenKaufmannUid"/>
</WITH>
<DO>
<PROPERTY name="query.kaufmannUid" source="pt_st_left_mt_markt"/>
</DO>
</ON_EVENT>
Der in dem verstekcten Feld hiddenKaufmannUid abgelegte Wert, wird beim FOCUS an die Query übergeben.
Jetzt zum eigentlichen Problem.
Dadurch das hier mehrere Schritte erforderlich sind, muss ein manueller FOCUS auf das Feld durchgeführt werden, damit der Parameter an die Query übergeben wird. Wünschenswert wäre, dass der Parameter direkt an die Query übergeben wird, sobald dieser ermittelt wurde. Also direkt nach dem Aufruf des Scripts rule_get_kaufmannuid. Ist dies möglich und wenn ja wie würde das gehen?
Ggf. gibt es noch einen besseren Weg ein Parameter dynamisch an das Feld zu übergeben?
Gruß
David