Displaying Interactive Lists of Table Records Or Connector Output in Apps
30 Sep 2022
12 Minutes to read
Contributors
Share this
Print
Share
Contents
Displaying Interactive Lists of Table Records Or Connector Output in Apps
Updated on 30 Sep 2022
12 Minutes to read
Contributors
Print
Share
Article summary
Did you find this summary helpful?
Thank you for your feedback
Here's how to display clickable lists of records or objects in an app.
In this article, you will learn...
How to display multiple table records based on a variable
How to select a record from the list and load it into an app
How to turn connector output into an interactive list
How to fire trigger logic when an operator selects a row in an interactive list
Note: In order to use this tutorial, you must understand how to create a Table. Check out this separate guide if you have not done that before.
Do you need to display any of these common shop floor assets to your operators and technicians?
A list of work order assignments by workstation
Machines that need to be inspected
Tools and their locations in your facility
Issues logged at a station and their progress to resolution
Material lists
If so, you will need to use the Embedded Table Widget in the App Editor.
The Embedded Table widget can be fed by the following data sources:
Multiple rows of SQL output
Array of objects from an HTTP connector
Tulip Table Record
User Fields
After setting up the data source, you can then show filtered lists to operators and allow them to click any row in the table. You can even fire Trigger logic after they choose a Record.
This guide will show you how to create interactive tables for each use data source above.
Then, add the Embedded Table to a step as shown above.
Then, select "Variable" as the data source and choose the variable that stores the output array from a connector function.
Finally, choose a Variable of type "Object" to store the output or create one within the "Linked Variable" dialog.
Then, select a column for each property within the object that you would like to display.
Firing Trigger Logic and Designing a Step
After you have set up your Embedded Table, there are two ways to use it:
Immediately fire a trigger Action when an operator presses a row
Update a Variable or Record Placeholder and do not fire any trigger.
This section will show you how to set up both of those situations in your app.
Firing Trigger Logic
To add a Trigger that fires when a row is pressed or clicked in the Player, click the "+" button next to the Trigger label in the Context Pane. You will see the Trigger Editor open with the "When" clause set to "when a row is selected".
Designing A Step
Here's an overview of a popular way to use the Embedded Table in the Player:
The Embedded Table is being used alongside two other Widgets:
The text widget to instruct the operator to click or press a record.
The Table Record widget to show which record has been selected.
In order to select a record, the operator must press a record, but you will probably want to give them some feedback that they have successfully selected the correct record.
To do this, add the "Table Record" text widget to the Step.
Then, link it to the same Record Placeholder as the Embedded Table in the Context Pane:
Test it out in the Player, and the record placeholder should update in real-time.
Changing the Display Of the Embedded Table
Row Size
By default, the row size is optimized for being clicked on a laptop or desktop. However, you may want to make each row bigger so that it can be easily pressed on a tablet or mobile device.
In order to do this, change the "Font Size" in the Context Pane. This will automatically increase the height of the row to accomodate the font size.
Buttons For Each Row
To remove the button next to each row, toggle the "Select Button" option to show or hide the buttons.
Regardless of whether, you toggle the "Select Button" on or off, rows can be selected by pressing or clicking any part of the row.
Row Index
When enabled, the index of the Record will display within the Table.
Rows Per Page
Determine how many rows should be available at a time in the table
Setting Up Filters and Sorting on the Widget
This section only applies to Embedded Tables that are connected to Tulip Tables and User Fields.
You will probably want to filter the list of records that are shown to the operator. You might want to filter it based on:
The Station that is running the app
The operator using the app
A value in a Variable in the app
Something else!
Click the "Edit" icon next to the Filters option to set up a filter.
Filter Options Include:
Static Value
Variable
Tulip Table Record
App Info
First, choose the field from the table where you would like to set up a filter. Then, choose a condition. Within the "Variable" option, you will see both app metadata like user and station as well as variables related to the app.
After you have selected a filter, click the "X" in the top right of the modal.
You can set up sorting for the Embedded Table with the "Sort By" option.
You can also head to community.tulip.co to post your question or see if others have faced a similar question!
Tulip Tables
Tulip Tables are a global location to store your production data. Tables are made up of Records (rows). A single can be accessed from multiple apps or stations at the same time.
Widget
Widgets are the elements that make up a specific App Step. Widgets can display information to users, collect user input, or trigger app logic.
Common widgets include: Interactive Tables, Number inputs, Machine attribute widgets, and more.
Tulip Tables
Tulip Tables are a global location to store your production data. Tables are made up of Records (rows). A single can be accessed from multiple apps or stations at the same time.
Table Record
A Table Record is a reference to a row in a Tulip Table. Table Records can be created either from the Table UI or from with an App Trigger.
To edit a record it must be loaded into a Table Record Placeholder.
Trigger
Triggers are the mechanism to do things in Tulip Apps. Store data, move users between Steps, Interface with hardware, Etc.
Triggers can be added to widgets, machines, devices, apps, and steps.
Table Record
A Table Record is a reference to a row in a Tulip Table. Table Records can be created either from the Table UI or from with an App Trigger.
To edit a record it must be loaded into a Table Record Placeholder.
Table Record Placeholder
A Table Record Placeholder is a reference to a row in a Tulip Table. Table Records can be created either from the Table UI or from an App Trigger.
Widget Toolbar
The Widget Toolbar Is the menu where widgets can be found and added to your application.
Tulip Tables
Tulip Tables are a global location to store your production data. Tables are made up of Records (rows). A single can be accessed from multiple apps or stations at the same time.
Table Record Placeholder
A Table Record Placeholder is a reference to a row in a Tulip Table. Table Records can be created either from the Table UI or from an App Trigger.
Context Pane
The Context Pane is the configuration pane on the right side of the App Editor where steps, apps, and widgets can be configured. Triggers can be added to adjust widget behavior.
Tulip Tables
Tulip Tables are a global location to store your production data. Tables are made up of Records (rows). A single can be accessed from multiple apps or stations at the same time.
Connectors
Connectors are how your Tulip apps can connect to other systems. Connectors can make API calls with HTTP Connectors, or pull data directly from SQL databases. Additionally OPC-UA Connectors can be used to retrieve Machine data.
Once pulled, data can be used throughout your applications.
Variable
Variables are a location to store app information. Variables have a specific type that must match the contents they can store.
Variables are only accessible within a single application and are cleared when the app is restarted or completed.
Variable
Variables are a location to store app information. Variables have a specific type that must match the contents they can store.
Variables are only accessible within a single application and are cleared when the app is restarted or completed.
Object
Objects are a Tulip Datatype. Objects represent an arbitrary grouping of attributes. Leveraging objects can simplify the process of working with complex data architectures. Often ConnectorFunctions will return Arrays of Objects
ex. My car object has 5 attributes, Color, Make, Model, # of wheels, # of seats.
Trigger
Triggers are the mechanism to do things in Tulip Apps. Store data, move users between Steps, Interface with hardware, Etc.
Triggers can be added to widgets, machines, devices, apps, and steps.
Action
Actions are different operations that can be executed in Triggers. Actions cannot move users to other apps, or other steps.
Many Actions can be added to a single Trigger.
ex. Store the value of variable x to table field y, Print app step, Adjust Edge device GPIO pin.
Variable
Variables are a location to store app information. Variables have a specific type that must match the contents they can store.
Variables are only accessible within a single application and are cleared when the app is restarted or completed.
Table Record Placeholder
A Table Record Placeholder is a reference to a row in a Tulip Table. Table Records can be created either from the Table UI or from an App Trigger.
Trigger
Triggers are the mechanism to do things in Tulip Apps. Store data, move users between Steps, Interface with hardware, Etc.
Triggers can be added to widgets, machines, devices, apps, and steps.
Tulip Player
Tulip Player is the Windows/Mac executable program where users can run Tulip apps. Tulip player allows you to create a more seamless user experience by removing the need for a web browser, and allows increased IT controls.
Context Pane
The Context Pane is the configuration pane on the right side of the App Editor where steps, apps, and widgets can be configured. Triggers can be added to adjust widget behavior.
Tulip Tables
Tulip Tables are a global location to store your production data. Tables are made up of Records (rows). A single can be accessed from multiple apps or stations at the same time.
Widgets
Widgets are the elements that make up a specific App Step. Widgets can display information to users, collect user input, or trigger app logic.
Common widgets include: Interactive Tables, Number inputs, Machine attribute widgets, and more.
Step
A view your users will see within an application. Steps can be viewed chronologically or in whatever order best fits your process.
Steps can be grouped into Step Groups to manage and organize your app Steps.
Table Record Placeholder
A Table Record Placeholder is a reference to a row in a Tulip Table. Table Records can be created either from the Table UI or from an App Trigger.
Context Pane
The Context Pane is the configuration pane on the right side of the App Editor where steps, apps, and widgets can be configured. Triggers can be added to adjust widget behavior.
Tulip Player
Tulip Player is the Windows/Mac executable program where users can run Tulip apps. Tulip player allows you to create a more seamless user experience by removing the need for a web browser, and allows increased IT controls.
Context Pane
The Context Pane is the configuration pane on the right side of the App Editor where steps, apps, and widgets can be configured. Triggers can be added to adjust widget behavior.
Table Record
A Table Record is a reference to a row in a Tulip Table. Table Records can be created either from the Table UI or from with an App Trigger.
To edit a record it must be loaded into a Table Record Placeholder.
Tulip Tables
Tulip Tables are a global location to store your production data. Tables are made up of Records (rows). A single can be accessed from multiple apps or stations at the same time.
Station
Stations are a digital representation of a physical place or device in your facility. Stations are 1:1 with Interfaces (display devices) running Tulip Player, but Stations can also be assigned Edge Devices, Tulip Vision Camera Configurations, Machines,and more.
Variable
Variables are a location to store app information. Variables have a specific type that must match the contents they can store.
Variables are only accessible within a single application and are cleared when the app is restarted or completed.
Static Value
Static values are unchanging values that can be used within Triggers. Static values can be of any Variable type.
Variable
Variables are a location to store app information. Variables have a specific type that must match the contents they can store.
Variables are only accessible within a single application and are cleared when the app is restarted or completed.
Table Record
A Table Record is a reference to a row in a Tulip Table. Table Records can be created either from the Table UI or from with an App Trigger.
To edit a record it must be loaded into a Table Record Placeholder.
App Info
App Info is a subset of the data available within an application automatically. This data can be used both in Widgets and Triggers. This includes the current date and time, the app name, the app version, the current shift, and more.
Variable
Variables are a location to store app information. Variables have a specific type that must match the contents they can store.
Variables are only accessible within a single application and are cleared when the app is restarted or completed.
Was this article helpful?
Thank you for your feedback! Our team will get back to you