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 8 Next »

This page is for data modellers who want to display data on a screen in a grid.

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. It will go through a worked example of creating a grid of employees from various companies.

Creating an Employees Grid

Once you have a screen created it is simple to add any data to it. To add data:

  1. Click  List Tables 
  2. Drag and drop the desired table onto the screen. In this instance, the Employees table is dragged onto a screen.
  3. PhixFlow then asks how to display the data using:
  4. Click Grid 
  5. The attribute picker should then appear. Drag and drop the attributes to display directly onto the grid.

Relational Attributes

The Employees table has a relationship with a Company table. See the below ERD.


Each employee has a company ID associated to it and is stored in a foreign key attribute, Company. This attribute is linked to the primary key (id_1) of the Companies table. The Companies table also has a display name attribute (CompanyName). This is the attribute that is displayed on the front end when adding a foreign key to any data bound component. For more information on ERD diagrams and relational views, see Entity Relationship Diagrams.

Adding foreign key attributes Can we get a screen shot without the _1 

When a foreign key, e.g. Company, is added to the grid, PhixFlow does the following automatically:

  • adds the foreign key (Company) from the primary table (Employees), I'd combine this with the last point to make it clearer and more succinct. 
  • adds the display name attribute (CompanyName) from the related table (Companies).
    This attribute is marked with ,
  • hides the foreign key.

Adding relational attributes from a many:1 relationship 

On the above grid the user also wants to display the companies address on the same grid. This data is stored on the Company table and can be accessed using the relationship. To add the company address

  1. Right click on the grid and click Show attributes for 'Employees'
  2. Click the related table Companies(Company)
  3. Drag and drop the attribute Address onto the grid. 
    This attribute is marked with   on the grid header.

Adding relational attributes from a 1:many relationship 

The user creates another screen to display the company data and wants to display the number of employees for that company using their 1:many relationship. Using an attribute from a 1:many relationship causes aggregation of the data. The most simple case is to use the count() attribute.

To add a relational attribute from a 1:many relationship:

  1. Right click on the grid and click Show attributes for 'Companies'
  2. Click the related table Employees(Company)
  3. Drag and drop the attribute Count() onto the grid. 
    This attribute is marked with . It is counting all the records on the Employees table which have that company as its foreign key value.
  4. Rename the attribute using the label to Number of Employees. Should we say where the label is e.g. in the basic properties of the table

todo- redo GIF when Count() is available

Adding any other attribute on the table will also cause aggregation. A default aggregate function is added to the attribute added. PhixFlow defaults this to the following: I think we need to make it clearer that the aggregation is combined, and also that a default is added but can be changed.

Data TypeDefault Aggregation
String/Bigstring

Count

Integer/Float/DecimalSum
Date/DateTimeMax
TrueFalseMax

Making Grids Editable

Marking Columns as Editable

By default all grid attributes are read only. Not sure that is true for dropdown fields. Grids can be made editable by

  1. Click on the attribute column header to open its property editor
  2. Open Grid Settings
  3. Untick Read Only

    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

Users can then click any value to edit it. - I'd remove this first bit as it a new section and just say the next bit To save changes to editable attributes

  1. Right click on a grid and Show the view configuration
  2. Open Advanced Open the Advanced section
  3. 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

Filtering and Sorting - New page

The data in the grid can be automatically sorted by adding a default sort order on the backing view. For more information on sort orders see Sort Order.

The default sort order can be overwritten at any time by a user, by right clicking on a column header and clicking Sort Ascending or Sort Descending

The data in displayed on the grid can be filtered in the following ways

FilterLocationLinkReason to use
Default FilterView EditorFilter

Default filters can be cleared by the user on the front end. Use a default filter when users are allowed to remove the filter to view all the data. If a default filter has been applied grids are marked with - Does it also show the default filter name? I believe it does but not if the grid has a dispay name. Clicking on this icon and selecting Clear Applied Filter will remove the default filter.

Example: A grid displaying a list of employees has an Active Boolean attribute. The default filter only displays active employees, but a user can clear this filter at any time to view all employees.

Background FilterView EditorFilter

Background filters cannot be cleared by the user. Use a background filter to always filter any instance of the view by the parameters provided. 

Views can be reused by multiple data components. Using a background filter will filter all components which are backed by this view.

Background Filter RulesGrid Component EditorFilter Rule

Background filter rules cannot be cleared by the user. They appear on the data component instead of the backing view so only applies to that component. Rules can be added to each filter to only apply in certain contexts. 

Example: A button is clicked to show all employees for company X. This sets a hidden attribute to true. The background filter only applies when this hidden attribute is marked as true.

Column Filter PickersGrid Column Headers

Filters on Data Views

Controlled exclusively by the user on the front end. Users can select any attribute on a grid and filter using expressions and by selecting values.

Styles and Formatting - New page

Grids and columns can be styled and formatted on the backing view.

StyleLocationDescription and use cases
Change grid colours and formatting

Backing View > Styles Tab 

Can be used to provide general styles to a particular grid. 

  • Grid Header Style
  • Grid Header Button Style
  • Grid Header Icon Style
  • Grid Header Dropdown Button Style
  • Grid Header Dropdown Pane Style
  • Grid Paging Style
  • Grid Row Style
  • Grid Column Header Style
  • Row Selection Style
Change style for a particular attribute

AttributeFormatting Rules. Can conditionally apply styles based on data values. E.g. A status attribute can appear red if its value is 'Error'

See Formatting Rule
Grid SettingsAttribute > Grid Settings

See View Attribute for

  • Setting attribute column widths
  • Labelling columns
  • Number Formats
  • Date/Time Formats
  • Hiding columns
  • Reordering columns

Adding Actions - New section I believe this can be applied to pie charts etc too

Actions can be added to grids in three locations

  • as a double-click action
  • to a column against an attribute - Needs to be clearer, as an action button within an attribute field
  • as a drop target. See Drag Types and Drop Targets 

To add an action as a double-click action

  1. Right click on a grid to Show the View Configuration
  2. Open the Actions tab
  3. On Double Click Action select either Table Action or Actionflow as an action type
  4. Select or create the appropriate action. See Configuring Actions.

To add an action to a grid column

  1. Click on the grid column header to open the attribute property editor.
  2. On Double Click Action select either Table Action or Actionflow as an action type.
  3. Select or create the appropriate action. See Configuring Actions.
  4. Optionally set the following:
OptionDescription
Always Show Action Icon

 Tick  to always display the action icon in read-only grid cells. The user can click anywhere in the cell to run the action. - Not sure this is true, if the column is wider than the button you cant click.

 Untick to only display the action when the user moves their mouse over the button.

Hide the Input Field

 Tick to hide the input field and to display the action icon in the column.

 Untick to display the input field in the column.

Hide the Action Icon

 Tick to hide the action icon. The user can run the action by clicking anywhere in the cell. Do not tick this option for editable columns.

 Untick to display the action icon in the column.

Action Icon Style
The style applied to the action icon. If no style is set, PhixFlow uses a default cog icon .

To add an action to drop target

  1. Right click on a grid to Show the View Configuration.
  2. Open the Actions tab.
  3. Open Drop Targets and click  Add New.
  4. Provide a Name.
  5. Select the appropriate Drag Type. If unfamiliar, see Drag Types and Drop Targets.
  6. On Drop Action select either Table Action or Actionflow as an action type.
  7. Select or create the appropriate action. See Configuring Actions.

More Information

For a complete list of view properties and their functions see View.


  • No labels