ComboBox (Auswahlliste, Vorschlagsliste oder Suchergebnis)

Die ComboBox dient zur Darstellung von:

  • Auswahlisten

  • Vorschlagslisten

  • Suchergebnissen

In Abhängigkeit vom Attributtyp des verknüpften Attributs ändert sich das Verhalten der ComboBox:

  • Bei der Verknüpfung mit einem Listenattribut verhält sich die ComboBox wie eine Auswahlliste, in der aus den Werten des Listenattributs ein Wert ausgewählt werden kann.

  • Bei der Verknüpfung mit einem Attribut mit Vorschlagsliste verhält sich die ComboBox wie eine Vorschlagsliste, d. h. Sie können sowohl aus einer Liste vorgegebener Werte auswählen als auch eigenen Text eingeben.

  • Bei der Verknüpfung mit einem Attribut des Typs Ganze Zahl verhält zeigt die Liste das Ergebnis einer Suche an, die über die Control-Eigenschaften Search definiert werden kann.

Eigenschaften

Neben den Standard-Eigenschaften hat dieses Control die folgenden Eigenschaften:

DependentComboBoxes

Mit der Eigenschaft „DependentComboBoxes“ können Sie ComboBox-Controls festlegen, von denen die aktuelle ComboBox abhängt.

Anwendungsbeispiel:

Wenn eine ComboBox abhängig von einer oder mehreren anderen ComboBoxen befüllt wird, so kann es bei Webanwendungen aufgrund von Latenzen eine kurze Zeit dauern, bis die abhängige ComboBox befüllt werden kann. Um zu vermeiden, dass der Benutzer in dieser Zeit die ComboBox auswählt, wird die als abhängig definierte ComboBox so lange deaktiviert.

Um eine oder mehrere ComboBoxen auszuwählen, von denen die aktuelle ComboBox abhängt, wählen Sie in der Eigenschaft „DependentComboBoxes“ und geben Sie im Dialog String Collection Editor die IDs der ComboBoxen ein (1 Eintrag je Zeile).

ListHeight

Diese Eigenschaft bestimmt die Höhe der Liste in Pixeln. Reicht diese Höhe nicht aus, um alle Werte anzuzeigen, wird automatisch ein Scroll-Balken eingeblendet.

ListType

Diese Eigenschaft bestimmt den Typ der Elemente, die in der Liste angezeigt werden.

Typ Auswahlliste
Werte

Attribute = Die Liste zeigt die Werte des angegebenen Attributs an.

Agents = Die Liste zeigt alle im System eingerichteten Agenten an.

Roles = Die Liste zeigt alle im System eingerichteten Rollen an.

Languages = Die Liste zeigt eine Reihe von Sprachen an.

TimeZones = Die Liste zeigt eine Reihe von Zeitzonen an.

Search = Die Liste zeigt das Ergebnis einer Suche an, die über die Eigenschaften „Search“ definiert werden kann.

Wichtig:Wenn Sie ListType Search auswählen, stellen Sie sicher, dass das in AttributeKey ausgewählte Attribut vom Typ Ganze Zahl ist.

Required

Diese Eigenschaft bestimmt, ob die ComboBox ein Pflichtfeld ist. Wird sie als Pflichtfeld gekennzeichnet und später im Dialog nicht ausgefüllt, erscheint beim Speichern des Dialogs eine Fehlermeldung und das Speichern wird abgebrochen.

Typ Boolean
Werte True = Pflichtfeld

False = Kein Pflichtfeld

Search

Diese Eigenschaft fasst eine Reihe von Eigenschaften zusammen, die dazu dienen, eine Suche zu definieren, mit der die Listenelemente der ComboBox ermittelt werden.

Anmerkung: Damit die Ergebnisse dieser Suche später auch in der ComboBox angezeigt werden, muss in der Eigenschaft ListType der Eintrag Search ausgewählt werden.

Mit den Eigenschaften „AttributeKeyDefID“, „AttributeKeyName“ und „AttributeKey“ (nicht in „Search“ enthalten) wird definiert, in welchen Attributen des Dialog-Objekts die Werte des in der ComboBox ausgewählten Objekts gespeichert werden.

Anmerkung: Beachten Sie, dass die genannte Reihenfolge zu beachten ist, wenn die Combobox mit Suche per Skript gefüllt wird.

Mit den Eigenschaften „SearchAttributeKey“, „SearchCondition“ und „SearchObjects“ wird definiert, welche Werte in der ComboBox angezeigt werden sollen.

AttributeKeyDefID

Diese Eigenschaft bestimmt das Attribut, in dem die DefID des in der Dropdownliste des Controls ausgewählten Obejkts gespeichert wird.

Typ Zeichenkette
Werte Attributpfad des ausgewählten Attributs.

Das Attribut, dessen Pfad Sie hier eingeben, muss ein Attribut vom Typ "Ganze Zahl" sein.

Beispiel In der ComboBox „Hersteller“ in einem Computerdialog werden alle Firmen der CMDB angezeigt. Die DefID des ausgewählten Objekts soll im Attribut „ManufacturerDefId“ gespeichert werden. Dieses wird hier ausgewählt.
Merke: Die Objekt-ID des ausgewählten Objekts wird in diesem Fall in der Eigenschaft "AttributeKey" gespeichert.

AttributeKeyName

Diese Eigenschaft bestimmt das Attribut, in dem der Name des in der Dropdownliste des Controls ausgewählten Objekts gespeichert wird.

Typ Zeichenkette
Werte Attributpfad des ausgewählten Attributs
Beispiel In der ComboBox „Hersteller“ in einem Computerdialog werden alle Firmen der CMDB angezeigt. Der Name des ausgewählten Objekts soll im Attribut „ManufacturerName“ gespeichert werden. Dieses wird hier ausgewählt.

SearchAttributeKey

Diese Eigenschaft bestimmt das Attribut, das in der Dropdownliste des Controls angezeigt werden soll.

Typ Zeichenkette
Werte Attributpfad des ausgewählten Attributs
Beispiel In der ComboBox „Hersteller“ in einem Computerdialog soll der Name des in der ComboBox ausgewählten Objekts angezeigt werden. Dazu wird hier das Attribut „OrganizationGeneral.Name“ ausgewählt.

SearchCondition

Diese Eigenschaft bestimmt die Suchbedingung für die Suche, die die Listenelemente der ComboBox ermitteln soll. Wie bei einem Ad-hoc-Report bezieht sich diese Suchbedingung auf die Objektdefinitionen, die in der Eigenschaft „SearchObjects“ ausgewählt werden.

Typ Zeichenkette
Werte Suchbedingung

Die Suchbedingung muss im selben Format eingegebn werden wie beispielsweise im Textmodus bei der Erstellung eines Ad-Hoc Reports.

Beispiel In der ComboBox „Hersteller“ in einem Computerdialog sollen alle Objekte vom Objekttyp „Firma“ angezeigt werden. Weil alle Objekt vom Typ „Firma“ angezeigt werden sollen, wird hier die generische Suchbedingung HLOBJECTINFO.ID > 0 eingegeben.
Anmerkung: Da es sich bei der Eigenschaft "SearchCondition" um ein Pflichtfeld handelt, müssen Sie immer eine Suchbedingung eingeben, auch dann, wenn Sie die Suchergebnisse nicht weiter einschränken wollen. In diesem Fall können Sie beispielsweise eine Bedingung eingeben wie "HLOBJECTINFO.ID > 0.

SearchObjects

Diese Eigenschaft bestimmt die Objektdefinitionen, in denen gesucht werden soll. Es können mehrere Objektdefinitionen ausgewählt werden, diese müssen allerdings vom selben Basisobjekttyp sein.

Typ Zeichenkette
Werte Definitionsnamen der gewünschten Objektdefinitionen untereinander aufgelistet (eine pro Zeile)
Beispiel In der ComboBox „Hersteller“ in einem Computerdialog sollen alle Objekte vom Objekttyp „Firma“ angezeigt werden. Dazu wird hier der Definitionsname des Objekts „Firma“ eingegeben („Company“) eingegeben.
Beispiel:

Im Vorfeld werden daher im Processes Designer für das Produkt „Computer“ die Attribute „ManufacturerId“, „ManufacturerDefId“ und „ManufacturerName“ angelegt. In diesen können dann später die entsprechenden Werte des Objekts gespeichert werden, das in der ComboBox ausgewählt wurde.

Das Attribut „ManufacturerId“ wird als Wert der Eigenschaft „AttributeKey“ ausgewählt.

Wichtig: Beachten Sie, dass die häufige Verwendung dieser Suche in Ihren Dialogen negative Auswirkungen auf die Performance Ihres Systems haben kann.

ShowPleaseSelect

Diese Eigenschaft bestimmt, ob bei einem leeren Feld der Text "Please select" angezeigt wird.

Text

Diese Eigenschaft bezeichnet in der ComboBox den Wert, der im Control eingegeben oder ausgewählt ist.

Events

Neben den Standard-Ereignissen unterstützt die ComboBox die folgenden Events:

SelectionChanged

Dieses Event tritt ein, wenn die Auswahl in der Dropdownliste geändert wird.

SelectionEndOK

Dieses Event tritt ein, wenn die Auswahl in der Dropdownliste geändert oder die Dropdownliste nach der Auswahl geschlossen wird.

Methoden

Die ComboBox unterstützt die folgenden Methoden:

AddItem

Diese Methode fügt einen Eintrag als Text am Ende der Dropdownliste ein.

Syntax AddItem(Item)
Parameter Item: Text, der in der Dropdownliste als neuer Eintrag eingefügt werden soll.
Rückgabewert Zahl: Index des eingefügten Eintrags.

Die Einträge der Dropdownliste sind dabei nullbasiert, d.h. der erste Eintrag hat den Index 0, der zweite den Index 1, etc.

Anmerkung: Diese Methode funktioniert nur bei Textattributen mit Vorschlagslisten.

GetItemsCount

Diese Methode ermittelt die Anzahl der Einträge in der Dropdownliste.

Syntax GetItemsCount
Rückgabewert Zahl: Anzahl der Einträge in der Dropdownliste.

InsertItem

Diese Methode fügt einen Texteintrag an der angegebenen Position der Dropdownliste ein.

Syntax InsertItem(Index,Item)
Parameter Index: Index der Position, an der der neue Eintrag (Item) eingefügt werden soll.

Item: Text, der in der Dropdownliste an der angegebenen Position (Index) als neuer Eintrag eingefügt werden soll.

Rückgabewert Zahl: Index des eingefügten Eintrags, im Fehlerfall "-1".

Die Indizes der Einträge sind dabei nullbasiert, d. h. der erste Eintrag hat den Index 0, der zweite den Index 1, etc.

Anmerkung: Diese Methode funktioniert nur bei Textattributen mit Vorschlagslisten.
Anmerkung: Übersteigt der Index die Anzahl der Einträge in der Dropdownliste, wird kein neuer Eintrag eingefügt.

DeleteItem

Diese Methode löscht den angegebenen Eintrag aus der Dropdownliste.

Syntax DeleteItem(Index)
Parameter Index der Position des Eintrags, der gelöscht werden soll. Die Indizes der Einträge sind nullbasiert, d. h. der erste Eintrag hat den Index 0, der zweite den Index 1 usw.
Beispiel 1 In der ComboBox "combobox1" soll der erste Eintrag gelöscht werden:

combobox1.DeleteItem(0)

Beispiel 2 In der Combobox "combobox1" soll der letzte Eintrag gelöscht werden:

count = combobox1.GetItemsCount () (=Anzahl der Einträge, siehe Kapitel GetItemsCount)

combobox1.DeleteItem(count -1)

Anmerkung: Nach dem Löschen des Eintrags werden alle folgenden Einträge um eine Position nach vorne verschoben, so dass die Lücke in den Indizes aufgefüllt wird.

SelectItem

Diese Methode wählt den angegebenen Eintrag aus der Dropdownliste aus.

Syntax SelectItem(Typ,Wert)
Parameter Typ: Zahl (0 oder 1), die angibt, welche Bedeutung der Parameter „Wert“ hat.

0 = Der Parameter "Wert" gibt den Index des Eintrags an, der ausgewählt werden soll.

1 = Der Paramter "Wert" gibt die ID des Einträgs an, der ausgewählt werden soll.

Wert: Index oder ID des Eintrags, der aus der Dropdownliste ausgewählt werden soll.

Die Indizes der Einträge sind dabei nullbasiert, d. h. der erste Eintrag hat den Index 0, der zweite den Index 1, etc.

GetCurSel

Diese Methode ermittelt den aktuell in der Dropdownliste ausgewählten Eintrag.

Syntax GetCurSel
Rückgabewert Zahl: Index des in der Dropdownliste ausgewählten Eintrags.

Die Indizes der Einträge sind dabei nullbasiert, d.h. der erste Eintrag hat den Index 0, der zweite den Index 1,etc.

GetLBText

Diese Methode ermittelt den Text des angegebenen Eintrags aus der Dropdownliste.

Syntax GetLBText
Parameter Index: Index der Position des Eintrags, dessen Text ermittelt werden soll.
Rückgabewert Zeichenkette: Text des Eintrags der angegebenen Position in der Dropdownliste. Ist die Liste leer, wird ein leerer Text zurückgegeben.

ResetContent

Diese Methode entfernt alle Einträge aus der Dropdownliste.

Syntax ResetContent

SetSearchDefinition

Diese Methode ändert die Eigenschaft „Search“ so ab, dass sie dynamisch während der Laufzeit des Dialogs die Ergebnisse auf die geänderte Suchbedingung anpasst.

Syntax SetSearchDefinition(searchCondition, searchObjects, searchAttributeKey, attributeKeyDefId, attributeKeyName)
Parameter

searchCondition: Die Suchbedingung für die auszuführende Suche.

searchObject: Objektdefinitionen, in denen gesucht werden soll.

searchAttributeKey: Attribut, das in der Dropdownliste angezeigt werden soll.

attributeKeyDefId: Attribut, in dem die DefID des ausgewählten Objekts gespeichert wird.

attributeKeyname: Attribut, in dem der Name des ausgewählten Objekts gespeichert wird.

Merke: Wenn im ComboBox Control zum Zeitpunkt der Methodenausführung ein Wert ausgewählt ist und dieser nach Ausführung der Methode nicht mehr gültig sein sollte, so muss der ausgewählte Wert der ComboBox anschließend zurückgesetzt werden.

Tastenkombinationen

Für dieses Control stehen keine Tastenkombinationen zur Verfügung.