Über das Scripting für ObjectList-Controls sind folgende Möglichkeiten gegeben:
Einsatz eines ObjectSelector/ObjectList Paares auf jeder beliebigen Maske.
Einsatz eines ObjectSelectors auf jeder beliebigen Maske.
Beeinflussung der Darstellung von Werten in einem ObjectList-Control. (Vorder-/Hintergrundfarbe, Font, Sichtbarkeit).
Erzeugung von neuen Werten zur Darstellung in einem ObjectList-Control.
Freie Festlegung von Sortierungs-Regelwerken über Scripting.
Freie Festlegung von Gruppierungen durch Script-Werte.
Wird in dem Zellenkonfigurationsdialog eines ObjectList-Controls unter "Scriptklasse" der Name einer Scriptklasse, und unter "Basisobjekt" der Text "Script" eingetragen, so bezieht sich der Name der "Referenzfunktion" auf eine "SOGRefObjectList" - Funktion aus der Scriptklasse.
Ein Beispiel für ein entsprechendes Script finden Sie hier: Sources\SOG.ERP.Script\Script.Basis\mask_dtstv3_list.cs
Implementierung eines Objektfilters
Hinterlegen Sie im Zellenkonfigurationsdialog des ObjectList-Controls den Namen der genutzten Objektklasse.
Implementieren Sie das ISOGObjectStateFilter Interface für diese Klasse.
Ein Beispiel für ein entsprechendes Script finden Sie hier: Sources\SOG.ERP.Script\Script.Basis\mask_dtstv3_list.cs => PerformObjectStateFilter
Anzeige von Werten beliebigen Ursprungs
Um in einer ObjectList Daten eines beliebigen Ursprungs anzuzeigen, ist die ObjectList wir folgt zu konfigurieren:
/// Basisobject: Script
/// Referenzfunktion: Liste2
/// Konfigname: globale.list1
/// Scriptklasse: Script.mask_dtstv3_objlist
Das Beispiel bezieht sich auf die Beispieldatei Sources\SOG.ERP.Script\Script.Basis\mask_dtstv3_objlist.cs
Wird in "Basisobject" nur "Script" festgelegt, so gilt das Script-Objekt gleichzeitig als Datenquelle.
Referenzfunktion bezieht sich dann auf eine Funktion innerhalb der Script-Quelle Namens "SOGRefObjectList_Liste2".
Verarbeitung des Setzens einer freien Datenmenge
Wird dem Control eine freie Datenmenge zur Anzeige gegeben (normalerweise durch das Senden einer Nachricht aus einem anderen Control), so kann in der Funktion "SetObjectList" eine Vorverarbeitung der Daten durchgeführt werden. Dabei ist es Möglich die zu setzenden Daten weiter zu qualifizieren, zu sortieren, zu selektieren, zu wandeln usw.
Ein Beispiel dazu findet sich in Sources\SOG.ERP.Script\Script.Basis\mask_dtstv3_objlist.cs