Insert excerpt | ||||||||
---|---|---|---|---|---|---|---|---|
|
Overview
PhixFlow can display any Table data as a grid on GUI screens. This page will show you how to add data as a grid to any screen, using a worked example of creating a grid of You can add a grid to a screen to display table data. The examples on this page refer to data for employees from various companies.
Info |
---|
Tip |
You can download the example data from the PhixFlow Learning Centre. |
Panel | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||
|
Creating an Employees Grid
Once you have a screen created it is simple to add any data to it. To add data:
Click
|
Creating a Simple Grid
On a screen canvas, to add a grid to display data:
- In the screen toolbar, click
.Insert excerpt _table_list _table_list nopanel true - Drag a table from the list and drop the desired table it onto the screen . In this instance, the Employees table is dragged onto a screencanvas.
- PhixFlow then asks prompts you to choose how to display the data using:
- Click Grid
- The attribute picker should then appear. Drag and drop the attributes to display directly onto the grid.
Click
. PhixFlow adds an empty grid.Insert excerpt _grid _grid nopanel true - The Available Attributes window appears, as shown in the animation below. Select attributes and drag them onto the empty grid.
PhixFlow adds the attributes as columns and populates the table with the records in the table. Click on the image below to see a larger version:
The appearance of the grid is set in the application properties →
Insert excerpt | ||||||||
---|---|---|---|---|---|---|---|---|
|
Marking Columns as Editable
Anchor | ||||
---|---|---|---|---|
|
By default all grid attributes are read only. Grids can be made editable by
ClickPhixFlow assumes that the data in a grid should not be editable by the application user, so sets the grid attributes to be read-only. If you want the application user to be able to edit the data in one of the grid columns:
- In the grid, click on the attribute column header to open its property editor
- Open Grid Settings
Untick Read Only
Info |
---|
Strings, Bigstrings, Integers, Floats and Decimals allow users to type to change its value Dates and Datetimes have a date picker to change its value Display name attributes will automatically appear as a drop down. Selecting a different value, e.g. Company, will automatically update the ID stored in the foreign key attribute |
Saving data
To save changes to editable attributes
- Right click on a grid and Show the view configuration
- Open the Advanced section
- Tick Auto Save
This will automatically save any changes made to the grid. An action can be added as a save action below this field if required.
Drop downs
Any attribute can have a drop down added for a user to select a value. See View Attribute.
Attribute Column Formatting
Attribute columns displayed on a grid can be styled to improve their display to users.
Labels
Some attributes may- properties; see View Attribute.
In
→ Grid Settings, untick Read Only.Insert excerpt _property_tabs _property_tabs name basic nopanel true
The way an application user changes a cell value in a grid depends on the data type; see Understanding Data Types. The application user can:
- overtype a value for data that is a string, bigstring, integer, float or decimal
- select from a date-picker for dates and date/times
- select from a drop-down for an attribute that is set as the display name.
PhixFlow automatically updates the data record's unique identifier attribute to match the selected display name.
Tip |
---|
If an attribute is set as the display name, PhixFlow shows this attribute instead of a unique identifier; see Understanding ERDs and Attribute properties. |
Autosaving Changes
When the application user makes a change to a cell in a grid, PhixFlow needs to save the change to the table. One option is to have a save button that the application user must click to save any changes; see Understanding Actionflows and Save Node.
Alternatively, allow PhixFlow to automatically save any changes that the application user makes. This change applies to the whole grid.
- In the grid, right-click to open the popup menu and select
to open the grid view properties.Insert excerpt _view_show _view_show nopanel true - In
→ Advanced, tick Auto Save.Insert excerpt _property_tabs _property_tabs name basic nopanel true
Configuring Drop-Down Options
If you want to the application user to select from a set of values for a cell, add a drop-down using the view attribute properties
Insert excerpt | ||||||||
---|---|---|---|---|---|---|---|---|
|
Anchor | ||||
---|---|---|---|---|
|
Reordering Columns
PhixFlow lists attributes from left to right in the header using the values in Basic Settings → Order. There are two ways to change the order in which the attributes are listed.
On the Grid
- In the screen canvas, drag a header and drop it in a different position in the header.
- PhixFlow changes Order value for all affected properties.
In the Properties
- In the grid, click on the attribute column header to open its properties; see View Attribute.
In
→ Basic Settings → Order, change the number.Insert excerpt _property_tabs _property_tabs name basic nopanel true PhixFlow changes the Order value for all affected attributes.
Labelling Columns
Anchor | ||||
---|---|---|---|---|
|
By default, PhixFlow displays the attribute name as the column header. However, some attributes have technical names that make no sense to users on the front end. To relabel an Attribute
Clickapplication users. In this case, you can add a different label to use in the header. You can also group columns under a shared header.
Adding Labels
To add a label that PhixFlow uses instead of the attribute name:
- In the grid, click on the attribute column header to open its properties
- Open the section Grid Settings
- Add a label to the field Label
It is possible to group attributes together using the label. In the Employees grid we can group and relabel the attributes first_name and last_name.
- To first_name add
Name, First
- To last_name add
Name, Last
Any attributes that are adjacent to each other with a matching label before a comma will group.
Hiding columns
Some columns might not make sense to users on the front end but are important for functionality, for example the primary key of the table. To hide a particular attribute
- Click .
- In
→ Grid Settings → Label, add the text you want to appear in the column header.Insert excerpt _property_tabs _property_tabs name basic nopanel true
Grouping Columns
If the data has related attributes, you can display the columns under a shared heading.
- In Basic Settings → Order, put the attributes next to each other in the grid.
- For each attribute, in Grid Settings → Label, specify a group heading using the form
Group, Specific
For example, in the Employees grid we have two name-related attributes next to each other:
First name | Last name |
---|
To change this to appear as:
Name | |
---|---|
First | Last |
- For the view attribute First name, set Label:
Name, First
- For the view attribute Last name, set Label:
Name, Last
The animation below shows how PhixFlow groups the adjacent columns using the group label.
Hiding Columns
Often your table requires attributes but the user does not need to see them. These attributes can contain
- codes or identifiers, such as the primary key
- data auditing information, such as the latest change to the attribute.
To hide attributes that do not need to appear in the grid:
- In the grid, click on the attribute column header to open its properties
- Open the section Grid Settings
- Tick Always Hidden
It is also possible to conditionally hide a column. To conditionally hide a column
- Click ; see View Attribute.
In
→ Grid Settings, tick Always Hidden.Insert excerpt _property_tabs _property_tabs name basic nopanel true
You can also configure a column so that PhixFlow can show or hide it depending on a condition.
- In the grid, click on the attribute column header to open its properties
- Open the section Grid Settings
- Add an expression to ; see View Attribute.
- Click on the attribute column header to open its properties
- Open the section Grid Settings
In
→ Grid Settings → Hide if evaluates to true, for exampleInsert excerpt _property_tabs _property_tabs name basic nopanel true Code Block _client.mobile
This expression will hide a column if the screen is being used on a mobile device.
Column Widths
There are multiple ways to change the column widths. To change widths using the editor
Add a number, e.g. 100 to True, add an expression. When the expression evaluates to:
false, PhixFlow displays the column
true, PhixFlow hides the column.
For example, you want to show a simplified grid for application users working on a mobile device, hide optional columns with a Hide if evaluates to True expression of: _client.mobile
Changing Column Widths
Depending on the defaults used for your grid, the columns may be set to resize automatically to take up a percentage of the available space.
On the Grid
- On the unlocked screen canvas, drag a column divider to the position you require.
- Lock the screen.
- PhixFlow saves the column widths to the attribute's
→ Grid Settings → Grid Default Width (pixels). The column will then always be 100px. Or,Add a number to Minimum Width. Adding 100 to Minimum Width will mean that the column will not be smaller than 100px wide, but willInsert excerpt _property_tabs _property_tabs name basic nopanel true
In the Properties
- In the grid, click on the attribute column header to open its properties; see View Attribute.
In
→ Grid Settings, to specify:Insert excerpt _property_tabs _property_tabs name basic nopanel true a minimum width, whilst allowing the column to stretch to fill the available space on larger screens, in Minimum Width specify a number.
Alternatively, if grid columns are resized directly on the grid when the screen is unlocked and the screen is then locked again, PhixFlow will remember these widths and set the
For example, to prevent the column from shrinking below 100 pixels, specify
100
.- fixed column width, in Grid Default Width (pixels)
Reordering columns
The order the attributes are displayed on a grid can be changed in the following ways
Changing the Order field on the attribute editorDragging and dropping an attribute to move it directly on the grid
Number and Date Formats
Numbers and dates can be reformatted on the grid by adding a number or date format. For example, a company might prefer a date to be formatted as 01 Jan 2000 instead of 01/01/2000. To apply a number or date format
- Click on the attribute column header to open its properties
- Go to the section Stream Attribute Details under Basic Settings
- Select or add a format.
For more information see Date Time Format and Number Format
Formatting Rules
It is possible to add formatting rules to grid attributes to change their styles based on an expression- , specify a number.
For example, to fix a column width to 100 pixels, specify100
(shown below).
- , specify a number.
Setting Grid Colours
Anchor | ||||
---|---|---|---|---|
|
Where your application uses the Serene Grey package template, grids are configured so that rows are automatically highlighted when the application user:
- hovers their mouse pointer over a row (highlight on-hover)
- clicks a row to select it.
There are different places where you can set styles; see Screen Styling.
Highlighting the Selected Row
The application user can click on a row to select it and it will be highlighted. To set or change the highlight settings for a selected row:
- Click the home button from the top menu and click
.Insert excerpt _property_settings _property_settings nopanel true - In
→ Style Settings section → Row Selection Style, clickInsert excerpt _property_tabs _property_tabs name style nopanel true
to open the style properties.Insert excerpt _open_properties _open_properties nopanel true - If no style is set, click
to add one.Insert excerpt _add _add nopanel true - Set the styling properties you wish to apply to selected rows in your grids. See Screen Styling.
- Common styles include:
- Font
- Background-color
- Common styles include:
Highlighting a Changed Row
To highlight a row when the application user changes a value:
- Click on the column header
- In view attribute properties → Grid Settings → tick Changes Row Colour.
- When the application user changes a value, PhixFlow automatically selects the row. The highlight persists until the application user clears the selection box at the start of the row.
Adding a Background Colour of a Row
The following allows us to set a row colour base on a value held within the row. This is recommended to be applied to specific rows.
- Right-click on a grid and select Show the View Configuration.
- Click on the
Insert excerpt _property_tabs _property_tabs name style nopanel true - Add a new style to Grid Row Style.
- Provide a name and click
. This is necessary before we can add a CSS Property.Insert excerpt _save _save nopanel true - In the CSS Properties section click
Insert excerpt _addIcon _addIcon nopanel true - CSS Tag,
background
- Expression, click on the slider to enable this.
- Value, set a condition for applying the style. For example, using the Employees data we will colour rows grey where the person's first name is Ewan.
if(_current.first_name == "Ewan", "grey")
- _current allows each row to check its value, and the value returned from our expression must be a string so we use quotes around the colour.
- CSS Tag,
Adding a Background Colour to a Column
To specify the background colour of a column, specify a Formatting Rule; see below.
Using Formatting Rules in Grids
PhixFlow formatting rules use and expression to determine the style or format to use depending on conditions; see Applying Formatting Rules. For example, the Companies table has a Status attribute which a user . In a grid, you might want to be green if its value is Approved. To add this formatting
Clickdisplay Approved companies in rows with a green background, but if the company is not approved it is displayed in a row with a red background.
To apply a formatting rule to a grid:
- In the grid, click on the attribute column header to open its properties
- Go to the section Formatting Rules
- Click ; see View Attribute.
In
→ Formatting Rules, clickInsert excerpt _property_tabs _property_tabs name basic nopanel true Insert excerpt _add _add nopanel true Add the expression
to open the properties for a new formatting rule.In Rule Expression, specify the condition; see Expression Basics and Expressions and PhixScripts. When this condition is true, PhixFlow applies the format. For example, to apply the style when the status is Approved, specify:
Code Block _current.Status == "Approved"
This will apply the attached style when the status is Approved.
- Add or select a style
- Click In Style, select or add the style you want to use.
- Click
. The animation below shows the Status column with a green background after the rule has been applied.Insert excerpt _finish _finish nopanel true
Changing Number and Date Formats
Your application has default formats for numbers and dates. If you want a different format for this grid, for example, to show a date of 01 Jan 2000 instead of 01/01/2000:
More Information- In the grid, click on the attribute column header to open its properties; see View Attribute.
In
saveInsert excerpt _property_
savetabs _ property_tabs name basic nopanel true
For more information on using expressions, see Expressions and Scripts.
→ Basic Settings → Table Attribute Details, select an alternative format for:Number Format
Date/Time Format.
For how to create new formats, see Date Time Format and Number Format.
Learn More
- Filtering and Sorting Grids and Charts
- Formatting and Styling Grids and Charts
- Using Relational Views
- Actions on Grids and ChartsFor a complete list of view properties and their functions see View.
- Properties