Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 11 Next »

Das ECUI unterstützt eine einfache Expression-Sprache, die primär für folgende Zwecke eingesetzt wird:

  • Filter auf Layouts um die Datensätze einzuschränken

  • Steuerung von dynamischer

    • Sichtbarkeit

    • Lesbarkeit

    • Verfügbarkeit

Einfache Expression-Beispiele sehen wie folgt aus:

  • Address.Country != 'CH'

  • Grade > 85

  • IsManager && IsActive

  • Salary + Bonus * .1

  • '<{LastName}, {FirstName}>'

Beispiel Filter in der Listenansicht

Es werden nur Datensätze angezeigt welche den Vornamen Alexander haben.

<layout type="List" ... filter="FirstName == 'Alexander'">
  ...
</layout>

Im filter Attribut kann die Expression benutzt werden.

Beispiel dynamische Sichtbarkeit eines Feldes in Detailansicht

Bei dieser Adresse ist die Firma nur sichtbar, wenn die Kategorie ungleich Id 3 ist.

<layout type="Detail" targetClass="Adresse" ...>
  <propertyLink link="Firma">
    <visible>KategorieID != 3</visible>
  </propertyLink>
  ...
</layout>

Innerhalb von group, propertyLink kann gesteuert werden:

  • enabled

  • visible

  • readonly

  • required

XML Editor

Grundsätzlich bauen wir auf der gleichen Syntax für die Expressions auf. Im Ansichten-Editor verwenden wir jedoch XML als Sprache. Damit wird auch die zulässige Syntax auf das im XML zulässige Set eingeschränkt. Sonderzeichen wie > können dann nicht verwendet werden. Deshalb gibt es im XML Editor Abweichungen. In einer zusätzlichen Spalte XML machen wir deshalb im Folgenden Anmerkungen wie es dort zu verwenden ist.

Basistypen

Type

Beispiel

XML

Ganze Zahlen

6

Dezimalzahlen

45.678 oder 45.678f

Dezimalzahlen (hohe Präzision)

45.678m

null - Konstante

null

Boolsche - Konstanten

truefalse

Einfache Zeichenkette mit ''

'A ''quoted'' string'

Alternative Zeichenkette mit ““

"A \"quoted\" string"

Nicht zulässig. Hier müssen die einfachen Hochkommas verwendet werden.

Liste

[A, B, 2, "three"]

Operatoren

Operator

XML

Beschreibung

Beispiel

Resultat

==

Gleich

2 == 2

Wahr

!=

Nicht gleich

2 != 2

Falsch

>

&gt;

Grösser als

2 > 2

Falsch

<

&lt;

Kleiner als

2 < 2

Falsch

>=

&gt;=

Grösser als oder gleich

2 >= 2

Wahr

<=

&lt;=

Kleiner als oder gleich

2 <= 2

Wahr

Die folgenden Operatoren können für Zeichenketten verwendet werden:

Operator

Synonym

Beschreibung

Beispiel

Resultat

%=

BeginsWith()

Startet mit

'bla' %= 'b'

Wahr

=%

EndsWith()

Endet mit

'bla' =% 'a'

Wahr

%=%

Contains()

enthält

'bla' %=% 'la'

Wahr

~~

EqualsCI()

Gleich*

'bla' ~~ 'Bla'

Wahr

!~

NotEqualsCI()

Nicht gleich*

'bla' !~ 'Bla'

Falsch

%~

BeginsWithCI()

Startet mit*

'bla' %= 'B'

Wahr

~%

EndsWithCI()

Endet mit*

'bla' =% 'A'

Wahr

%~%

ContainsCI()

Enthält*

'bla' %=% 'LA'

Wahr

* Gross-/Kleinschreibung wird nicht berücksichtigt.

Für arithmetische Funktionen stehen folgende Operatoren zur Verfügung:

Operator

Beschreibung

Beispiel

Resultat

*

Multiplikation

2 * 2

4

/

Division

2 / 2

1

+

Addition

2 + 2

4

-

Subtraktion

2 - 2

0

^

Potenz

2 ^ 3

8

%

Modulo

3 % 2

1

Folgende “verbindende” Operatoren stehen zur Verfügung:

Operator

XML

Beschreibung

Beispiel

Resultat

&&

&amp;&amp;

und

true && false

Falsch

||

oder

true || false

Wahr

!

nicht

!true

Falsch

  • No labels