Page History
Encore
Below an example of the definition of a container of type AQ_Aggregate_List is shown, that results in a list of person aggregates.
Parameters
Name | Description | Type | Required |
---|---|---|---|
AggregateTypeAggregate Type | Select the aggregate type you want to list. This is a combo-box that lets you select one of the aggregates defined in your project. | Aggregate | trueYes |
Display text when empty | This lets you select a defined Text Item, using a dropdown box. If there are no entries at runtime, it is displayed instead of the table. | Text item | falseNo |
Target Attribute Aggregate ID | This lets you select an attribute of a singleton entity. On this attribute the Id of the selected aggregate entry is stored. | Attribute | falseNo |
Target Attribute Aggregate Version | This lets you select an attribute of a singleton entity. On this attribute the version Id of the selected aggregate is stored. If an end user presses on a button in the list, behavior is triggered for the aggregate on that row. The aggregate version is set in the profile and can later be used in a flow. | Attribute | falseNo |
Paging size | The number of entries displayed per page in the aggregate list. | Number | falseNo |
Show only latest version | When this option is selected, only the newest version of the aggregate is shown as entry in the list. | Checkbox | falseNo |
Search Query | When you want to search through the content of aggregates, you can specify a search query here. This typically is an attribute that is placed on a page so that the user can enter a search string. More information can be found here: Search in structured and unstructured information | Expression | falseNo |
AggregateList Contents
There are three types of columns that can be used in an aggregate list container:
- Columns of the Metadata type are used to identify an aggregate. The possible data fields are retrieved from the aggregate database. A typical example of a metadata column for any aggregate is CreationDate.
- Columns of the CustomMetadata type are used to display information about and find aggregates based on functional data. Theses custom metadata fields are defined in the aggregate definition and are expressions. A typical example of a custom metadata column for a Person aggregate might be Name, which is the concatenation of first name, suffix and last name.
- Columns of the Action type are used to add buttons and events that will be triggered for a given aggregate. A typical example of an action for any aggregate is a Read.
Column Options
Metadata and CustomMetadata
- Header: Select a Text Item that is used as column header.
- Visible: You can make a column (conditionally) (in)visible to the user. This can be very useful in combination with a filter.
UI Text Box type Warning A list always needs at least one column to display something, so when making column (conditionally) invisible, make sure that there always remains at least one column that is visible in all cases. Otherwise an error will be thrown and the list will not be rendered.
- Filter: A filter can be applied to the Metadata columns to filter the results shown in the aggregate list.
typeUI Text Box Warning The data type of the filter expression field should match with the data type of the column. E.g., for a currency column, the filter expression
100
does not work, but the expressionCURRENCY(100)
does work. - FieldMetadata: An attribute from the aggregate (custom) metadata that you want to show in a column.
- Mask: A mask can be specified that is applied to the shown entry.
- OrderingOrder By: You can sort aggregates in the list based on ascending or descending order of values in a column. This is a default setting and can be overwritten by the user at runtime.Mask: A mask can be specified that is applied to the shown entry
- .
- Conditional Presentation Styles: Different presentation styles can be added to an aggregate column. If conditions are filled in for the presentation styles, these will be applied on cells that fulfil the condition.
Actions
- Header: Select a Text item that is used as column header.
- Visible: You can make a column (conditionally) (in)visible to the user.
- Button: A button that will enable interaction on an aggregate. Pressing the button will trigger the event defined in the same column.
- Event: An event, triggered by the button in the same column definition, that enables flow and thus behavior on an aggregate instance from the list.
- Event type: Event type, select the appropriate event type:
- Continue - stores all user input, even if it is not valid. Typically used to initiate an action without leaving the page. Choosing this Event type becomes visible in a flow as a yellow circle attached to the page.
- Validate and continue - validates and stores all user input. Typically used when leaving the page with an OK, Next or Continue button. Choosing this Event type becomes visible in a flow as a blue circle attached to the page.
- Cancel - does a rollback of the current page or (transactional) flow, nothing from this page or transaction is stored. Typically used when leaving the page with a Cancel or Back button. Choosing this Event type becomes visible in a flow as a blue circle with a cross inside attached to the page.
- Conditional Presentation Styles : Different presentation styles can be added to an aggregate column. If conditions are filled in for the presentation styles, these will be applied on cells that fulfil the condition.
Filter | Filter Datatype | Database Datatype | Description |
---|---|---|---|
Equals | All single-valued datatypes | All single-valued datatypes | Results in true if the value in the database equals the filter value. |
Equals | All single-valued datatypes | Multi-valued datatypes | Results in true if any value in the database matches the filter value. |
Not equals | All single-valued datatypes | All single-valued datatypes | Results in true if the value in the database is different to the filter value. |
Not equals | All single-valued datatypes | Multi-valued datatypes | Results in true if there is no same value in the database compared to the filter value. 4 Not equals [1,2,3] = TRUE 1 Not equals [1] = FALSE 1 Not equals [1,2,3] = TRUE |
Less than | All single-valued datatypes | All single-valued datatypes | Results in true if the value of in the task database is less than the filter value. |
Less than | All single-valued datatypes | Multi-valued datatypes | Results in true if there is one value in the database that is less than the filter value. |
Less than or equals | All single-valued datatypes | All single-valued datatypes | Results in true if the value of in the task is database is less than or equal to the filter value. |
Less than or equals | All single-valued datatypes | Multi-valued datatypes | Results in true if there is one value in the database that is less than or equals the filter value. |
Greater than | All single-valued datatypes | All single-valued datatypes | Results in true if the value of in the task database is greater than the filter value. |
Greater than | All single-valued datatypes | Multi-valued datatypes | Results in true if there is one value in the database that is greater than the filter value. |
Greater than or equals | All single-valued datatypes | All single-valued datatypes | Results in true if the value of in the task is database is greater than or equals the filter value. |
Greater than or equals | All single-valued datatypes | Multi-valued datatypes | Results in true if there is one value in the database that is greater than or equals the filter value. |
Like | String | Single-valued string | Results in true if the filter value is a substring of the value in the database. |
Like | String | Multi-valued string | Results in true if the filter value is a substring of one of the values in the database. |
Not like | String | Single-valued string | Results in true if the filter value is not a substring of the value in the database |
Not like | String | Multi-valued string | Results in true if the filter value is not a substring of each value in the database. "d" Not like ["aa","bb","cc"] = TRUE "a" Not like ["aa"] = FALSE "a" Not like ["aa","bb","cc"] = TRUE |
In | Multi-valued datatypes | All single-valued datatypes | Results in true if the database value is a part of the filter value. If you use a single-valued filter, this function behaves as Equals. |
In | Multi-valued datatypes | Multi-valued datatypes | Results in true if one value of the the database value is a part of the filter value. |
Not in | Multi-valued datatypes | All single-valued datatypes | Results in true if the database value is not a part of the filter value. If you use a single-valued filter, this function behaves as Not Equals. |
Not in | Multi-valued datatypes | Multi-valued datatypes | Results in true if one of the database values is not a part of the filter value. |
When a database value is unknown, the filtering always returns false.
Runtime
UI Text Boxinfo |
---|
How this container looks at runtime can also be found here: Rich Containers for Lists |
All columns of the aggregate list above can be sorted (ascending and descending) in runtime to let a user override the default sorting as defined in StudioEncore.
Filtering is possible on (custom) metadata columns and differs for each datatype, as will be explained in the next section. Providing more than one filter will combine the filters. So in this example, filtering the boolean column on true
values and filtering the number column on value 4 results in an empty list.
Filtering
Boolean Filtering a boolean value can be done by selecting whether to show rows of the list with value | |
Value list Filtering a column which is bound by a value list resembles the functionality that is available in many table-oriented applications, such as Microsoft Excel. Unknown values can be included and excluded from the filter by using the "Show Unknown" checkbox, which is by default selected. This means that by default, all rows of the list where the value is unknown, are also shown. | |
String To filter a string column of a list, you simply type (part of) the string that you are looking for. By default, unknown values are also shown. To disable this, deselect the checkbox labeled "Show Unknown". | |
Number Filtering a number (integer, numeric, percentage or currency) provides three options. By default, the "Show Unknown" checkbox is selected. This means that by default, all rows of the list where the value is unknown, are shown. |
Date(time) Date an datetime filtering strongly resembles number filtering. Filtering a date also provides three options. By default, the "Show Unknown" checkbox is selected. This means that by default, all rows of the list where the value is unknown, are shown. Datetime filtering works the same as date filtering, with the addition of a timestamp HH:mm. |
To get a better understanding of aggregates take a look at: Example project Persistency management.
Warning |
---|
Some messages that this container needs should be configured in the message.properties. These can be found here: Customerdata Client component |