Formeln

Formeln ermöglichen es Ihnen, den Wert einer Ansicht basierend auf dem Inhalt anderer Ansichten festzulegen.

Syntax für Verweise auf Ansichten

Verwenden Sie die folgende Syntax für Verweise auf Ansichten in Formeln:
  • ${ControlName} bezieht sich auf die Ansicht, deren control id = ControlName.
  • @{ControlName} verweist auf den Wert in der Ansicht mit control id = ControlName.
  • ${ControlName}.getValue() und @{ControlName} sind funktional entsprechend.
  • Für die Ansichten Dezimalzahl und Ganzzahl können Sie die standardmäßigen arithmetischen Operatoren ('+ ",'-',' * ','/','% ') oder die entsprechenden Funktionen verwenden.
  • Da Formeln JavaScript-Ausdrücke sind, ist alles, was in einem JavaScript-Ausdruck gültig ist, auch in einer Formel gültig.
Beispiel: Sie haben die folgenden Ansichten: Quantity (Ganzzahl), Cost (dezimal) und Total (dezimal). Sie können den Wert von 'Total' mit der folgenden Formel angeben:
@{Quantity} * @{Cost}
Wenn die Ansichten Quantity (Ganzzahl), Cost (dezimal) und Total (dezimal) in einer Tabelle mit Formeln verwendet werden, müssen Sie sehr wahrscheinlich auf Felder zugreifen, die sich in einer 'my'-Zeile befinden. Verwenden Sie dazu eine Syntax, die ein Gleichheitszeichen (=) hinter dem Feldnamen platziert, wie im folgenden Beispiel dargestellt:
@{Quantity=} * @{Cost=}
Hinweis: Das Gesamtsteuerelement kann ungebunden sein, d. h., es ist nicht notwendig, ein Total -Datenfeld in der Tabelle zu haben.

Aggregatfunktionen

Wenn Sie eine Tabelle verarbeiten, müssen Sie möglicherweise Aggregatfunktionen verwenden. Das Zeichen * kann jedem beliebigen ControlName folgen und gibt alle Zeilen in einer angegebenen Spalte an.

Die folgenden Aggregatfunktionen werden unterstützt:
  • COUNT(${ControlName})
  • SUM(${ControlName}, expression)
  • AVG(${ControlName}, expression)
  • MIN(${ControlName}, expression)
  • MAX(${ControlName}, expression)
Hinweis: Zur Verarbeitung einer paginierten Tabelle können Sie den optionalen Operanden Ausdruck verwenden. Aufgrund der Implementierung der Ansicht 'Tabelle' werden bei einer paginierten Tabelle nur die Zeilen angezeigt, die sichtbar sind. Verwenden Sie die Methode getRecordCount(), um die genaue Anzahl der Datensätze in einer paginierten Tabelle zu erhalten.
Der Operand expression ist für alle Aggregatfunktionen außer COUNT gültig. Zum Beispiel:
FOR_EACH{expression}
Dabei entspricht expression der Formel, die für die verarbeitete Spalte angegeben wurde.
Dieser Ausdruck verwendet die spezielle Notation '#{data-element-name}. data-element-name bezieht sich auf die tatsächlichen gebundenen Daten, die mit einer angegebenen Spalte verbunden sind. Beispiel: In Ihrer Tabelle sind die folgenden Spalten enthalten:
  • Amount1 mit control Id 'tblAmount1' gebunden an den Parameter amount1
  • Amount2 mit control Id 'tblAmount2' gebunden an den Parameter amount2
  • Total mit control Id 'tblTotal' gebunden an die Formel @{tblAmount1=} * @{tblAmount2=}
Verwenden Sie eine Formel ähnlich der folgenden, um die Summe der Tabellenbeträge einer paginierten Tabelle zu erhalten:
SUM(${Table1},FOR_EACH{#{amount1} * #{amount2}})
Hinweis: Diese Formel ist logisch äquivalent zur Formel SUM(${Table1/tblTotal*}) , die für eine nicht paginierte Tabelle verwendet werden kann.