Compound
Das Compound dient der Darstellung von Mehrfachattributen, also von allen Attributen, für die man mehrere Datensätze anlegen kann. Dies können sowohl einzelne als auch zusammengesetzte Attribute sein.
Das Compound verfügt über eine Kopfzeile, die auf der linken Seite die Bezeichnung des Compounds und Informationen zur Anzahl der gespeicherten Datensätze und zur Nummer des angezeigten Datensatzes enthält, und auf der rechten Seite Schaltflächen zur Verwendung des Compounds.
Über die Schaltflächen + und X können Sie neue Datensätze hinzufügen und löschen und über die Pfeiltasten können Sie zwischen den einzelnen Datensätzen hin und her navigieren.
Das Compound bildet einen Rahmen, in dem die dort angezeigten Controls als dem Compound untergeordnete Controls angelegt werden.
Sie müssen also zuerst das Compound im Dialog platzieren und anschließend die gewünschten Controls innerhalb des Compounds anlegen. Die untergeordneten Controls können Sie dann innerhalb des Compounds beliebig platzieren. Die Position wird dabei relativ zum Rahmen des Compounds angegeben.
Wenn Sie das Compound nutzen, um ein zusammengesetztes Attribut darzustellen, müssen die untergeordneten Controls zudem mit diesem Attribut verknüpft werden.
Verknüpfen Sie dazu das Compound mit dem gewünschten zusammengesetzten Attribut. Durch die Verknüpfung wird der Anzeigename des Attributs automatisch als Bezeichnung für das Compound verwendet und links oben in der Kopfzeile angezeigt.
Verknüpfen Sie anschließend die untergeordneten Controls der GroupBox mit den einzelnen Attributen des zusammengesetzten Attributs. Durch die Verknüpfung der GroupBox mit dem Attribut werden Ihnen hier nur noch die einzelnen Attribute des zusammengesetzten Attributs zur Auswahl angezeigt.
Eigenschaften
AllowAddNew
Diese Eigenschaft bestimmt, ob im Compound Datensätze hinzugefügt werden dürfen.
Typ | Boolean |
---|---|
Werte | True = Im Compound dürfen Datensätze hinzugefügt
werden. False = Im Compound dürfen keine Datensätze hinzugefügt werden. Die Schaltfläche zum Hinzufügen von Datensätze ist deaktiviert. |
AllowDelete
Diese Eigenschaft bestimmt, ob ein einmal hinzugefügter Datensatz im Compound wieder gelöscht werden darf oder nicht.
Typ | Boolean |
---|---|
Werte | True = Die Datensätze des Compounds dürfen gelöscht
werden. False = Ein einmal hinzugefügter Datensatz darf nicht gelöscht werden. Die Schaltfläche zum Löschen der Datensätze ist deaktiviert. |
OCID
Diese Eigenschaft gibt für den im Compound ausgewählten Datensatz eine innerhalb des Compounds eindeutige ID an. So kann jedes einzelne im Compound enthaltene Element referenziert werden.
Typ | Zahl |
---|---|
Werte | Ganze Zahl |
Beispiel: | Die E-Mail-Adresse des aktuell ausgewählten Datensatzes im
Compound-Control soll ausgelesen werden: Email = hlObj.GetValue("CommunicationGeneral.Email_CA.Email",0,CompoundControl.OCID,0,0) |
TableViewHeaderHeight
Diese Eigenschaft bestimmt die Höhe der Kopfzeile der Tabelle, in der die Datensätze angezeigt werden, wenn Sie für die Eigenschaft „ViewMode“ den Wert „TableView“ gesetzt haben.
Typ | Zahl |
---|---|
Werte | Natürliche Zahl (Pixelangabe) |
TableViewItems
Wenn für die Eigenschaft „ViewMode“ der Wert „TableView“ gesetzt wurde, wird das Compound als Tabelle dargestellt.
Über diese Eigenschaft definieren Sie, welche Inhalte in den Spalten dieser Tabelle angezeigt werden sollen. Dabei können zum einen die Attribute des zusammengesetzten Attributs als Spalten angezeigt werden, zum anderen können Sie für eine Spalte eine Suche definieren, deren Ergebnisse in der Spalte angezeigt werden.
Wählen Sie die Schaltfläche ... am Ende der Zeile an.
Der Dialog Auswahl der Attribute wird geöffnet.
Auf der linken Seite können Sie über die Schaltflächen Hinzufügen und Entfernen neue Spalten hinzufügen oder bestehende löschen. Die neuen Spalten erhalten zunächst den Standardnamen „[Undefiniert]“.
Über die Pfeilschaltflächen können Sie außerdem die Reihenfolge ändern, in der die Spalten in der Tabelle angezeigt werden.
Die Events und Eigenschaften der auf der linken Seite markierten Spalten werden jeweils auf der rechten Seite des Dialogs angezeigt.
Diese können Sie genau wie die Eigenschaften der Controls bearbeiten.
Folgende Events werden unterstützt:
CellValueChanged | Dieses Event tritt ein, wenn sich in dieser Spalte ein Wert in einer Zelle geändert hat. |
Folgende Einstellungen können Sie über die einzelnen Eigenschaften machen:
AttributeKey | Über diese Eigenschaft verknüpfen Sie die Spalte mit dem Attribut,
das in der Tabelle dargestellt werden soll. Wählen Sie dazu auf die Schaltfläche … am Ende der Zeile an. Der Dialog Attribut wird geöffnet. |
Hier werden Ihnen nur die Attribute angezeigt, die zu dem zusammengesetzten Attribut gehören, das mit dem Compound verknüpft ist.
Wählen Sie hier das Attribut aus, dessen Werte in einer Spalte in der Tabelle angezeigt werden sollen, und wählen Sie anschließend die Schaltfläche OK.
ColumnType | Diese Eigenschaft bestimmt, ob der Spaltentyp automatisch anhand des AttributeKey ermittelt wird (Wert=„Auto“) oder ob es sich um eine Spalte handelt, in der eine Suche ausgeführt wird (Wert=„Search“). |
ColumnWidth | Diese Eigenschaft bestimmt die Breite der Spalte in Pixeln. |
IsReadOnly | Diese Eigenschaft bestimmt, ob die Spalte später im Dialog
schreibgeschützt angezeigt wird. True = Die Spalte wird schreibgeschützt angezeigt. False = Die Werte in der Spalte können bearbeitet werden. |
PasswordChar | Mit dieser Eigenschaft können Sie ein einzelnes Zeichen festlegen, das als Platzhalter für die Zeichen angezeigt werden soll, die für dieses Attribut eingegeben werden. |
Search | Diese Eigenschaft fasst die Eigenschaften zusammen, die dazu
dienen, für eine Spalte, für die „ColumnType=Search“ gesetzt ist, die
Suche zu definieren, mit der die Einträge ermittelt werden, die in der
Spalte angezeigt werden. Die Funktionsweise dieser Eigenschten ist dieselbe wie die der unter der Eigenschaft Search zusammengefassten Eigenschaften in der ComboBox:
|
Text | Über diese Eigenschaft können Sie eine alternative
Spaltenüberschrift definieren, wenn Sie nicht den Anzeigenamen des
Attributs verwenden wollen. Über die Schaltfläche … am Ende der Zeile können Sie zudem den Dialog Übersetzung öffnen, in dem Sie den Spaltennamen auch für die anderen Sprachen Ihres Systems angeben können. |
TitleTextcolor
Diese Eigenschaft bestimmt die Schriftfarbe des Texts, der in der Kopfzeile des Compounds angezeigt wird.
Typ | Farbe |
Werte | Ausgewählte oder benutzerdefinierte Farbe aus der Farbpalette |
TableViewSelectionMode
Diese Eigenschaft bestimmt, ob Sie in der Tabelle, die angezeigt wird, wenn Sie für die Eigenschaft „ViewMode“ den Wert „TableView“ gesetzt haben, einzelne Felder einer Spalte und mehrere Felder auf einmal markieren können.
Typ | Auswahlliste |
---|---|
Werte | Default = Es kann immer nur eine komplette Zeile markiert
werden. Extended = Die Felder der Spalten können einzeln markiert werden und es können bei Gedrückthalten der STRG-Taste mehrere Felder auf einmal markiert werden. |
ViewMode
Diese Eigenschaft bestimmt, ob das Compound in Form von einzelnen Controls oder als Tabelle dargestellt wird.
Typ | Auswahlliste |
---|---|
Werte | FormView = Das Compound wird in Form von einzelnen Controls dargestellt. |
Werte | TableView = Das Compound wird als Tabelle dargestellt. Diese Darstellung ist dann sinnvol, wenn es Ihnen wichtig ist, alle Datensätze des Mehrfachattributs auf einen Blick sehen zu können. |
Events
AfterAdd
Dieses Event tritt ein, nachdem ein neuer Datensatz hinzugefügt wurde.
AfterNext
Dieses Event tritt ein, nachem zum nächsten Datensatz gewechselt wurde.
AfterPrev
Dieses Event tritt ein, nachdem zum vorherigen Datensatz gewechselt wurde.
AfterRemove
Dieses Event tritt ein, nachdem ein Datensatz gelöscht wurde.
BeforeAdd
Dieses Event tritt ein, bevor ein neuer Datensatz hinzugefügt wird.
BeforeCellEdit
Dieses Event tritt in der Tabellenansicht („ViewMode=TableView“) ein, wenn eine im Compound-Control enthaltene ComboBox zur Bearbeitung ausgewählt wird.
BeforeNext
Dieses Event tritt ein, bevor zum nächsten Datensatz gewechselt wird.
BeforePrev
Dieses Event tritt ein, bevor zum vorherigen Datensatz gewechselt wird.
BeforeRemove
Dieses Event tritt ein, bevor ein Datensatz gelöscht wird.
Methoden
SetTableViewItemSearchCondition
Wenn für die Eigenschaft „ViewMode“ der Wert „TableView“ gesetzt wurde, wird das Compound als Tabelle dargestellt.
Diese Methode bestimmt die Suche, die in einer Spalte mit dem Wert „ColumnType=Search“ ausgeführt wird, um die Einträge zu ermitteln, die in der Spalte angezeigt werden sollen.
Syntax | SetTableViewItemSearchCondition(column,condition) |
---|---|
Parameter | column: Nummer der Spalte, in der die Suche ausgeführt
werden soll. Die Spaltennummern sind 0-basiert, d. h. die erste Spalte
hat die Nummer 0, die zweite die Nummer 1 usw. condition: Suchbedingung als Zeichenkette Die Suchbedingung muss im selben Format eingegeben werden wie z. B. im Textmodus bei der Erstellung eines Ad-Hoc Reports. |
SetTableViewItemSearchProperties
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 | SetTableViewItemSearchProperties(int column, string searchCondition, object[] searchObjects, string searchAttributeKey, string attributeKeyDefId, string attributeKeyName) |
---|---|
Parameter | column: Nummer der Spalte, in der die Suche ausgeführt
werden soll. Die Spaltennummern starten bei 0, d. h. die erste Spalte
hat die Nummer 0. searchCondition Die Suchbedingung für die auszuführende Suche. searchObjects Array der Namen der 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. |
Tastenkombinationen
Für das Compound stehen die folgenden Tastenkombinationen zur Verfügung:
Strg + <BILD-AUF> | zeigt den vorherigen Datensatz an. |
Strg + <BILD-AB> | zeigt den nächsten Datensatz an. |
Strg + Einfg | fügt einen neuen Datensatz ein. |
Strg + Entf | löscht den aktuellen Datensatz. |