Data
Dataβ
In the data component, it can be determined what has to happen with searching, filtering, sorting, prefilters, and applying conditional layouts.
Filter and Searchβ
The difference between Filter and Search:
- Filter: The result is filtered, which means that all other rows are removed as long as the filter is active.
- Search: The result is marked, which means that all other rows remain visible.
menu User interface > Subjects > tab Subjects > tab Default > tab Data > tab Filter and tab Search
Prefilters in these tab pages:
- Possibly visible - hides all the columns that will be hidden in the end-product (type: Hidden). Hidden fields are usually not used for searching or filtering.
- Possibly editable - only shows the columns that can be edited in the end-product (type: Editable).
Setting search values for a table in Data
Setting filter values for a table in Data
Optimizing filter and searchβ
For filter and search, the options are Always, Advanced or Never.Β The Advanced option affects the expansion of the search/filter screens. The search and filter functionality can be optimized by setting frequently used search terms to Always and the other fields to Advanced.
Follow these steps to optimize the filter and search functions:
- Give frequently used terms the visibility Always.
- Give never-used terms the visibility Never.
- Give the remaining terms the visibility Advanced.
- Drag the columns to get the desired sequence.
- If necessary, select a different search or filter condition.
Filter conditionβ
menu User interface > Subjects > tab Subjects > tab Default > tab Data > tab Filter
In the Filter condition field, you can specify the default way of filtering for a specific column in a subject.
-
Windows GUI Web GUI - You can use all filter conditions in the dropdown list.
-
Universal GUI - You can use the following filter conditions:
- (not) Equal to
- Contains
- Starts with
- Ends with
- Greater than (or equal to)
- Smaller than (or equal to)
Filter condition settings for a specific column
Search tooltipβ
Universal GUI onlymenu User interface > Subjects >tab Subjects > tab Default > tab Data > tab Filter
In your application, the tooltip for the Search field displays the columns that are used for searching. The column order is determined by the Filter tab. In the example below the subject column is placed in front of the employee_id primary key column, which is expected to be the first in the original list of columns in the data model (menu User interface > Subjects > Columns).
Sortβ
menu User interface > Subjects > tab Subjects > tab Default > tab Data > tab Sort
A default sort can be specified for each table. You can sort on one or more columns. You can indicate for each column if it should be sorted in ascending or descending order.
Additionally, you can specify on which columns sorting may and may not be allowed. For example, because it concerns a large text column for which no index is defined.
Setting sort values for a table in Data
Groupβ
menu User interface > Subjects > tab Subjects > tab Default > tab Data > tab Sort
You can group one or more columns if Default sort is selected in a grid. This grouping is fixed on one or more columns.
The Group until option specifies the last column by which to group. All columns up to and including the column with Group until selected become part of the group. In the example below, persons are grouped by country, then by province, and then by city.
Group persons by country, province, and city
Windows GUI Web GUIYou can also let users dynamically group columns. See: grouping in grid.
Prefiltersβ
Prefilters are predefined filters that a user can select. Prefilters have their own name and appear in the ribbon, the context menu and possibly a prefilter bar.
Prefilters are linked to a table. Prefilters can be defined in two ways.
-
To attach conditions to columns
-
With the help of a query (where clause)
When creating a prefilter, some standard things can be defined:
Prefilter groupsβ
Prefilters within a table can be grouped together to display them logically. Both the groups and the prefilters within a group can be put into a sequence. When prefilters are grouped, they can be displayed in two ways in the context menu:
- Via a sub-menu in the context menu.
- Through the use of separators in the context menu.
Only separators are used in the ribbon, which is also the case for the sub-menus.
Exclusive prefilter groupsβ
It is possible to indicate for each group which icon this group should be given and whether the prefilters in this group are mutually exclusive.
A user cannot simultaneously filter on Available and Not available. If Available and Not available were both a status of one record, the user would never see any data when both prefilters were switched on.
An enabled prefilter in an exclusive group can be locked or hidden, via settings in the model or rights. When this is the case, all other prefilters in this group will also be locked or hidden, as they cannot be activated.
When multiple prefilters are enabled due to settings in the model or user preferences, the GUI will only enable the prefilter with the highest order number. When multiple enabled are prefilters locked or hidden, no data will be shown.
Exclusive prefilter groups can be configured to be mandatory. The user will not be able to turn off the active prefilter. If no prefilter is enabled because of model settings, no data will be shown until a prefilter in the mandatory exclusive prefilter group is activated.
Default prefilterβ
It is possible to specify for the following components, by means of a combo, what the default of the prefilter should be (hidden, off, on, on & locked, on & hidden). The last two are actually a way to add authorization.
Shortcutβ
Each prefilter can be linked with a shortcut by specifying the Shift code and ASCII code. When a user presses the shortcut, the prefilter will be switched on or off respectively.
Make sure that no shortcuts are used that are already in use, such as Ctrl C.
Icon and sequence numberβ
An icon may be linked to the prefilter in order to present the prefilter more intuitively to the user. The sequence number determines the sequence if the table has several prefilters.
Query or prefilter columnsβ
Subsequently there is the choice of whether the prefilter should work based on a query or whether conditions have been specified based on columns. When opting for a query, this needs to be entered into the corresponding field
The query is placed in the where-clause by the GUI. The current table can be accessed using the alias t1.
t1.order_date < getdate()
When conditions have to be assigned to columns, this is done on the prefilter columns tab. The developer indicates on this tab which column ID is added to the prefilter and which condition and value the prefilter should have. This concerns the database value and not the translation.
Of course, multiple columns can be specified for each prefilter in order to make the prefilter work in more detail.
If the application is started in developer mode, the resulting query can be viewed in the debug screen.
Setting a prefilter with a query
Access controlβ
It is possible to indicate per role that a prefilter is intended to authorize data. In this case, the checkbox Data authorization prefilter can be checked in the Model rights screen. As a result, the prefilter cannot be disabled by users assigned to this role.
Setting the role rights for prefilters
Conditional layoutsβ
Topics:
- Conditional layouts for Windows and Web GUI
- Conditional layouts for Universal GUI
- Conditional layout conditions
Conditional layouts for Windows and Web GUIβ
Windows GUI Web GUIIn grids and forms, the font and background color of fields can be formatted and adjusted based on specific conditions using conditional layouts. You can choose to modify the background color and/or the font style and color of a specific column or, when no column is selected, the entire row.
A conditional layout contains zero or more conditions that determine when the layout is applied.
Set conditional layout for a table
The Thinkwise platform will automatically generate an overview of the conditional layouts of a subject in the help text (based on the visible columns for the user) for conditional layouts that have a help text entered.
Conditional layouts in the help text of the Software Factory
Expression fields can be used to model conditional layouts based on queries, for example by checking whether a date has expired.
Conditional layouts for Universal GUIβ
Universal GUIThe Thinkwise Universal user interface uses different conditional layout settings than the classic user interfaces. Instead of choosing a font, containing the font face, size, color and style, the text can be formatted and styled independently of the chosen font using separate color and style settings for light and dark themes.
The following controls are not supported by the conditional layout:
- Radiobutton
- Signature
- Checkbox
- HTML.
Conditional layouts for the Universal GUI
Conditional layout conditionsβ
menu User interface > Subjects > tab Subjects > tab Default > tab Data > tab Conditional layouts > tab Conditional layout condition
In the Condition field, you can specify the condition under which the conditional layout will be applied.
You can use the following conditions:
- Equal to / Not equal to
- Contains / Does not contain
- Starts with / Does not start with
- Ends with / Does not end with
- Greater than / Greater than or equal to
- Smaller than / Smaller than or equal to
- Between / Not between
- Is empty / Is not empty
Condition setting for a specific conditional layout