Verwenden von eigenen Format- und Analyseausdrücken in LiveBindings
Nach oben zu LiveBindings in RAD Studio
Beim Binden von Steuerelementen, Eigenschaften oder Felder mit LiveBindings kann es manchmal nötig sein, die Daten an einem Ende einer Bindung zu modifizieren, bevor sie das andere Ende der Bindung erreichen. Beispielsweise könnten Sie bei einer Datenmenge mit einer Liste von Farbnamen in Großbuchstaben diese Namen in Kleinbuchstaben umwandeln, bevor Sie sie in einer Liste anzeigen. Häufig beziehen sich diese Änderungen auf beide Seiten der Bindung. Zum Beispiel könnten Sie beim Anzeigen von ISO-Datumsangaben aus einer Datenmenge diese Datumsangaben in das lokale Datumsformat konvertieren und alle vom Benutzer manuell eingegebenen Datumsangaben vor dem Speichern in der Datenmenge in das ISO-Format konvertieren.
Beim Binden von Steuerelementen, Eigenschaften und Feldern mit LiveBindings erstellen Sie eine Instanz einer Bindungsklasse, wie z. B. TLinkFillControlToField oder TLinkFillControlToProperty. Zu den Eigenschaften dieser Klassen zählen die beiden folgenden Eigenschaftstypen:
CustomFormat
-Eigenschaften, wieFillBreakCustomFormat
oderFillDisplayCustomFormat
. In diesen Eigenschaften können Sie einen Ausdruck definieren, der den Wert aus dem Quellsteuerelement, der Quelleigenschaft oder dem Quellfeld ändert.CustomParse
-Eigenschaften, wieFillBreakCustomParse
oderFillDisplayCustomParse
. In diesen Eigenschaften können Sie einen Ausdruck definieren, der den Eingabewert ändert, bevor er in dem Quellsteuerelement, der Quelleigenschaft oder dem Quellfeld gespeichert wird.
Inhaltsverzeichnis
Festlegen von eigenen Formaten oder Analyseausdrücken
So legen Sie ein eigenes Format oder einen Analyseausdruck in einer bestehenden Bindung zwischen Steuerelementen, Feldern oder Eigenschaften fest:
- Öffnen Sie den LiveBindings-Designer, und wählen Sie die Zielbindung aus.
- Im Objektinspektor:
- Um einen eigenen Formatausdruck anzugeben, suchen Sie den entsprechenden
CustomFormat
-Eigenschaftswert (z. B.FillHeaderCustomFormat
oderFillValueCustomFormat
), geben einen Bindungsausdruck, wieLowerCase(%s)
, ein, und drücken die Eingabetaste, um diesen neuen Eigenschaftswert zu speichern.
- Durch Hinzufügen dieses Ausdrucks wird sichergestellt, dass sich der angegebene Ausdruck auf die Werte aus dem Quellsteuerelement, der Quelleigenschaft oder dem Quellfeld vor deren Übergabe an das Zielsteuerelement, die Zieleigenschaft oder das Zielfeld auswirkt.
- Um einen benutzerdefinierten Analyseausdruck festzulegen, suchen Sie die entsprechende
CustomFormat
-Eigenschaft (z. B.FillHeaderCustomParse
oderFillValueCustomParse
), geben einen Bindungsausdruck, wieUpperCase(%s)
, ein, und drücken die Eingabetaste, um diesen neuen Eigenschaftswert zu speichern.
- Jetzt wirkt sich der angegebene Ausdruck auf die Eingabewerte aus, bevor sie in dem Quellsteuerelement, der Quelleigenschaft oder dem Quellfeld gespeichert werden.
- Um einen eigenen Formatausdruck anzugeben, suchen Sie den entsprechenden
Bindungsausdrücke
Der einfachste Bindungsausdruck, den Sie verwenden können, ist %s
, wobei %s
für den Quellwert steht. Das heißt, wenn Sie einfach %s
in einer benutzerdefinierten Formateigenschaft einer Bindung angeben, wird der Quellwert nicht geändert; Sie erzielen das gleiche Ergebnis wie bei einer leeren benutzerdefinierten Formateigenschaft.
Zugreifen auf das Quellobjekt
Sie können auch mit Self.Owner
auf das Quellobjekt zugreifen; damit erhalten Sie nicht nur Zugriff auf die der Bindung zugeordneten Daten, sondern auch auf alle Daten aus dem Quellobjekt. Mit den folgenden Ausdrücken können Sie auf Daten aus dem Quellobjekt zugreifen:
Self.Owner.Feld.Eigenschaft
. Zum Beispiel:Self.Owner.CUSTOMER.Text
.- Hinweis: Sie können diese Syntax verwenden, wenn der Name des Quellobjekts ("CUSTOMER" im obigen Beispiel) eine gültige ID ist. Wenn das Quellobjekt ein Feld ist, könnte dessen Name kein gültiger Name sein; in diesem Fall müssen Sie stattdessen die folgende Syntax verwenden:
Self.Owner.FieldByName('Feld').Eigenschaft
.- Zum Beispiel:
Self.Owner.FieldByName('CUSTOMER').Text
.
- Zum Beispiel:
Siehe Video: Using binding expressions in the CustomFormat property of a TLinkPropertyToField component.
Verwenden von mathematischen Symbolen
Sie können in Ausdrücken die folgenden mathematischen Symbole verwenden:
- Konstanten:
nil True False Pi
- Arithmetische Operatoren:
+ - * /
- Logische Operatoren:
= <> < <= > >=
- Runde Klammern,
()
, um die Operatorrangfolge zu ändern.
Verketten von Strings
Um dem Quellwert ein Präfix oder Suffix hinzuzufügen, setzen Sie diesen zusätzlichen String in einfache Anführungszeichen ( ' ) und verketten mit einem Pluszeichen (+) diesen String mit dem Quell-String. Zum Beispiel: 'Hello, ' + %s + '!'
.
Verwenden von LiveBindings-Methoden
Sie können in Ihren benutzerdefinierten Bindungsausdrücken LiveBindings-Methoden verwenden. Beispielsweise könnten Sie einen Ausdruck wie 'I like ' + LowerCase(%s) + ' crayons'
schreiben, wobei der Quell-String, %s
, in Kleinbuchstaben umgewandelt würde.
- Hinweis: Bei LiveBindings-Methoden wird die Groß-/Kleinschreibung berücksichtigt. Wenn der Name der LiveBindings-Methode
LowerCase
lautet, funktionierenLowercase
oderlowercase
nicht.
RAD Studio enthält viele Standard-LiveBindings-Methoden, wie LowerCase
, UpperCase
oder Format
, die Sie verwenden können. Unter Standard-LiveBindings-Methoden finden Sie eine Liste dieser Methoden und die entsprechende Dokumentation.
Sie können auch eigene LiveBindings-Methoden erstellen. Siehe Erstellen eigener LiveBindings-Methoden.
Beim Binden von Steuerelementen, Eigenschaften oder Feldern mit dem LiveBindings-Designer wird dem Formular eine TBindingsList-Komponente hinzugefügt. Sie können die Eigenschaft Methods
dieser Komponente öffnen, um eine Liste der verfügbaren LiveBindings-Methoden (von RAD Studio bereitgestellte und eigene) anzuzeigen, die Sie in Ihren eigenen Bindungsausdrücken verwenden können.