Beschreibung:
Ermöglicht die Auswahl eines Datensatzes basierend auf dem aktuellen Filter des RecordSet Objektes. Das Ergebnis ist ein Objekt vom Typ Record.
Wenn kein Datensatz ausgewählt wurde, wird NULL zurückgegeben. Das Objekt ist dann somit ungültig! Es wird ein fully-dynamic RecordSet als Basis benötigt, weitere Informationen finden Sie unter Änderungen und Neuerungen.
Hinweis: DialogSelectRecord speichert die Spalten/Layoutkonfiguration und die vom Anwender zuletzt eingestellte Sortierung der Datensatzübersichtsliste ab (Voreinstellung: in der Registry). Der Name der Sektion der Konfiguration lautet "DialogSelect_"+<Ansichtenname>. Dieser kann jedoch individuell anderweitig vorgegeben werden, indem man beim Funktionsaufruf einen eigenen Namen im Parameter für den Fenstertitel durch TAB (chr$(9)) getrennt mit übergibt.
Sobald DialogSelectRecord für ein per ViewConfig erzeugtes RecordSet (ViewConfig.CreateRecordSet) verwendet wird, kann die Performance optimiert werden, wenn vor dem Methodenaufruf die Sortierung des RecordSet gesetzt wird (ViewConfig.CreateRecordSet("SetSortOrder:n")).
Wichtig: Nach dem Aufruf von DialogSelectRecord für einen per ViewConfig.CreateRecordSet erzeugten RecordSet darf für den betreffenden RecordSet keine Move-Methode aufgerufen werden, da sonst der zurückgegebene Record u.U. seine Werte verändert!
Parameter:
|
Parametername |
Typ |
Beschreibung |
|
WindowTitle |
String |
Fenstertitel des erzeugten Dialoges. Der Titel kann auch leer übergeben werden, dann wird eine Grundeinstellung genommen. |
|
AllowUserDefinedSortOrder |
Bool |
True: Eine etwaige vom Benutzer in diesem Dialog zuletzt eingestellte Sortierung wird verwendet. Standardmäßig wird die erste Sortierung aktiviert, die in der zum RecordSet gehörenden Ansicht definiert wurde. False: Es wird die im RecordSet eingestellte Sortierung verwendet. Ist keine eingestellt, so wird die erste Sortierung aktiviert, die in der zum RecordSet gehörenden Ansicht definiert wurde. |
|
nParentHandle |
Long |
Optional. Handle eines Fensters, das als Parent-Fenster für den Dialog verwendet werden soll. Voreinstellung: das combit CRM Hauptfenster, sofern es nicht unsichtbar ist, ansonsten das in dem Augenblick gerade aktive Vordergrundfenster |
Typ:
Record
Beispiel VBScript:
' Dieses Beispiel basiert auf der Kontakte-Ansicht einer combit_Large-Solution
Dim oRecord : Set oRecord = cRM.CurrentProject.ViewConfigs.ItemByName("Kontakte").CreateRecordSet.DialogSelectRecord("Datensatzauswahl", True)
If (Not oRecord Is Nothing) Then
Call oRecord.PrintLabel("PRV", "%PRJDIR%\Druckvorlagen\Kontakte - Adressetikett.lbl", True, "", False)
Set oRecord = Nothing
End If
Beispiel C#-Script:
// Dieses Beispiel basiert auf der Kontakte-Ansicht einer combit_Large-Solution
Record record = cRM.CurrentProject.ViewConfigs.ItemByName("Kontakte").CreateRecordSet().DialogSelectRecord("Datensatzauswahl", true);
if (record != null)
{
record.PrintLabel("PRV", @"%PRJDIR%\Druckvorlagen\Kontakte - Adressetikett.lbl", true, "", false);
record.Dispose();
}