Für die Kommunikation mit einem auf der ActiveSkin Maske befindlichen ObjectSelector-Control steht die Klasse GuiObjectSelectorConnector zur Verfügung.
Der Connector kapselt alle Anforderungen die das Programm an den Selector stellt.
Erzeugen eines GuiObjectSelectorConnector, hier am Beispiel einer Kundensuche in Form eines Typisierten Control
[GuiObjectSelector(RefFunction = nameof(SelectDynamicSql)), UsedImplicitly]
private GuiObjectSelectorConnector<Kundenstamm> _sel1;
[GuiObjectList(Text = "Kunden"), UsedImplicitly]
private GuiObjectListConnector<Kundenstamm> _list1;
[GuiPropertyGrid, UsedImplicitly]
private GuiPropertyGridConnector _prop1;
// Diese Funktion muss im Construktor des Dialogs aufgerufen werden!
void _initControls1()
{
_sel1 = new GuiObjectSelectorConnector<Kundenstamm>(this, "sel1");
_list1 = new GuiObjectListConnector<Kundenstamm>(this, "list1", _sel1);
_prop1 = new GuiPropertyGridConnector(this, "prop1", _list1);
}
protected DlgKontoSuche([NotNull] DlgKontoSucheParameter parameter)
{
_initControls1();
}
Mithilfe dieses Connectors können nun alle Funktionen zur Kommunikation mit dem Control verwendet werden.
Beachten Sie, dass der Control dabei nicht unbedingt auf der Maske tatsächlich existiert.
Je nach benutzerindividueller Maskenkonfiguration kann es sein, das sich der Control nicht auf der Maske befindet.
Folgende Funktionen stehen zur Verfügung:
Legt die aktuelle Ansicht des ObjectList-Controls fest.
Führt die "Anzeigen"-Funktion des ObjectSelector-Controls für die aktuell eingestellte Ansicht aus.
Liefert alle konfigurierten Ansichten des ObjectSelector-Controls (ohne Ansicht "default")..
Schaltet den Selector in den Modus damit es anschließend möglich ist, die Liste der Selector Fields abzufragen
Liefert alle sichtbaren Datenfelder des ObjectSelector-Controls für die aktuell eingestellte Ansicht.
Setzt alle Werte in den Datenfeldern des ObjectSelector-Controls auf "Beliebig" zurück.
Legt die erlaubten Relationen für den ObjectSelector-Control fest.
Legt die Objektklasse (siehe "objectclasses.ini") für das angegebene Datenfeld im ObjectSelector-Control fest.
Konfiguriert ein Datenfeld im ObjectSelector-Control. (z.B. Daten Vorbelegung)
Setzt den Eingabefocus auf den Control.
Meldungen des ObjectSelector
Es folgt eine Aufstellung der Meldungstypen, die von einem ObjectSelector gesendet und empfangen werden und eine Beschreibung der Auswirkungen dieser Meldungen auf den Control.
Versendete Meldungen
ObjectChangedMessageEventArgs
SetActiveViewMessageEventArgs
Wird gesendet, wenn die Ansicht auf die im Parameter "ActiveView" angegebene Ansicht gewechselt wird.
GetActiveViewMessageEventArgs
SOGSaveConfigMessageEventArgs
Wird gesendet, wenn die aktuelle Tabellenansicht gespeichert wird.
SOGSelectViewMessageEventArgs
Wird gesendet, wenn auf die im Parameter "View" angegebene Tabellenansicht gewechselt wird.