Eulanda. Multi Select
Zuletzt geändert: 08.01.2024 15:09

Eulanda.MultiSelect-Dialog #

Beispiel für den Multi-Select-Dialog. #

Hierbei werden mehrere Optionen zur Auswahl angezeigt und können per Checkbox markiert werden.

In diesem Beispiel werden die anzuzeigenden Optionen aus einem Recordset (SQL-Ergebnismenge) ermittelt. Die Einträge können aber euch einzeln über Add(Caption) zugefügt werden.

option explicit

dim rs, s, i
' Die "id"-Spalte wird in "data" umbenannt, und steht dadurch
' beim Zusammenbau der Ergebnis-Meldung als "data" zur Verfügung
set rs = Client.ExecuteSql("select top 10 id as data, Match, PLZ, Ort, CreateDate from dbo.adresse order by id desc")

dim dialog
  set dialog = Client.CreateDialog("Eulanda.MultiSelect","")
    with dialog
      .Title = "Auswahl der Kunden"
      .SubTitle = "Ein Untertitel ..."
      .SingleSelect = False
      ' Vorlage für die Darstellung der einzelnen Datensätze (Adressen)
      .AddItemsFromRecordset Rs, "CaptionTemplate=%match% [b]%PLZ% %Ort%[/b] [blue]%CreateDate%[/blue]"
      .Add("Manueller Eintrag ohne Daten")
      .Add("Manueller Eintrag mit Daten").Data = 4711
      .NoAbortWarning = True
      .UseFilterTree = False
      .AllowDragDrop = False
      .OkEnabled = "SELECTED"

      if .Execute Then
        s = ""
         ' Zusammenbau der Rückmeldung
          for i=0 to .Count-1
            with .Items(i)
              ' wenn selektiert, ...
              if .State > 0 then
                if s <> "" then s = s & ","
                s = s & CStr(.Data)
              end if
            end With
          Next
        MsgBox s
      end if

    end With
  set dialog = Nothing