|
The Expression Builder component was designed to simplify writing of expressions in Expression Language. This component is used to edit expression text in a Data Table Editor.
Here is what the Expression Builder window looks like:

Expression Builder window consists of the following parts:
| • | Expression Text Area in the top that is used for directly editing expression text. |
| • | Button Bar with two groups of buttons. Buttons on the left are used for inserting different operators and other Expression Language elements into the current caret position in expression area. Buttons on the right are used to validate expression syntax (Validate button) and calculate the expression result in the current environment (Evaluate button). There is also a Functions combo box, for quick insertion of functions. |
| • | A Server Data area that contains an Entity Selector component. Double-clicking on any entity inserts its Reference into the current caret position in the expression area. |
| • | A Components area that contains another Entity Selector allowing to insert references to widget component properties. This section is available only when editing widget binding expressions. |
| • | A Relative References list (not visible on the above screenshot) that shows relative references available in the current environment. If no relative references are available, this part is not visible. Double-clicking on a reference inserts its textual representation into the current caret position in expression area. |

|
Relative references are references with relative context part or with no context/entity specification at all. See References article for details.
|
| • | A Reference Editor used to edit the reference that is currently selected in the expression area. Any part of a reference may be changed independently. When changes are made, expression text is updated. The Resolve button allows to calculate current value pointed by the edited reference. |
| • | Validate and Evaluate buttons allowing to validate expression syntax and calculate its output, respectively. |
| • | Functions button that brings up the function selector, allowing to insert a function: |

|