- Overview
- Callout
- Complex Scenarios
- Credentials
- Data Service
- About the Data Service activity package
- Project compatibility
- Create Entity Record (New)
- Update Entity Record (New)
- Delete Entity Record (New)
- Get Entity Record by Id (New)
- Query Entity Records (New)
- Upload File to Record Field (New)
- Download File from Record Field (New)
- Delete File from Record Field (New)
- Create Multiple Entity Records (New)
- Update Multiple Entity Records (New)
- Delete Multiple Entity Records (New)
- Form
- Release notes
- Project compatibility
- Real Time Forms
- Updating form data
- Running forms using JavaScript
- Customizing Forms Using CSS
- Conditional components
- Adding multiple components on the same row in Columns
- Using the Data Table component
- Get File/Folder path
- Reading cell values from a Data Grid component
- Displaying PDF files
- Displaying images in forms
- Scrolling through Data Grids
- Using Dev Tools with forms
- Calculate form component values
- Managing dates in forms
- Opening hyperlinks inside forms
- Displaying a default tab in forms
- Displaying the full label of a component
- Searching long strings in drop-down lists
- About the pre 23.4 Form experience
- Project Compatibility
- Real Time Forms
- Dynamic Checkboxes
- Conditional Dropdowns
- Displaying a Default Tab
- Displaying Images
- Displaying PDF Files
- Displaying the Full Label
- Dynamic HTML Elements
- Managing Dates
- Searching Long Strings in Drop-downs
- Customizing Forms Using Local CSS Files
- Executing Do Block On Checkbox Change
- Customizing Columns Width
- Updating Form Data
- Resetting Collection Data
- Advanced Logic
- Executing Do Block on Dropdown Option Change
- Reading Cell Values From a Data Grid Component
- Conditional Components
- Scrolling Through Data Grid Components
- Using the Grid Component
- Dev Tools
- Calculated Value
- Dynamic Dropdowns
- Switching Tabs With Button Click
- Opening Hyperlinks Inside Form
- FTP
- IPC
- Persistence
- Release notes
- Project compatibility
- About the Persistence activity package
- Bulk Form Designer
- Start Job And Get Reference
- Wait For Job And Resume
- Add Queue Item And Get Reference
- Wait For Queue Item And Resume
- Wait For Form Task And Resume
- Resume After Delay
- Assign Tasks
- Create External Task
- Wait For External Task And Resume
- Complete Task
- Forward Task
- Get Form Tasks
- Get Task Data
- Get App Tasks
- Add Task Comment
- Update Task Labels
- Create App Task
- Wait For App Task And Resume
- Configure task timer
- Working with App tasks
- Building Your First Form Action
- Advanced Controls for Drop-downs
- Embedding Objects in Form Actions
- Allowing Users to Upload Files to the Storage Bucket
- Adding Advanced Logic Using Java Script
- Setting a Default Tab
- Removing the Delete button from Edit Grid using custom CSS
- Customizing Edit Grid templates
- Using buttons to trigger custom logic
- Using an External Form Layout
- Dynamically expanding form components at runtime
- Aligning the content of a form component from left to right using JSON attributes
- Sample Workflows
- Automation Ops Pipelines
- System
- Release notes
- About the System activity package
- Project compatibility
- Supported character encoding
- RegEx Builder Wizard
- Add Data Column
- Add Data Row
- Add Log Fields
- Add or Subtract from Date
- Add Transaction Item
- Add Queue Item
- Append Item to Collection
- Append Item to List
- Append Line
- Beep
- Break / Exit Loop
- Browse for File
- Browse for Folder
- Build Collection
- Build Data Table
- Bulk Add Queue Items
- Change Case for Text
- Change Type
- Check False
- Check True
- Clear Data Table
- Collection to Data Table
- Comment
- Compress/Zip Files
- Copy File
- Copy Folder
- Combine text
- Comment Out / Disabled Activities
- Continue / Skip Current
- Create File
- Create Folder
- Create List
- Custom Input
- Delete
- Delete File
- Delete Folder
- Delete Storage File
- Delete Queue Items
- Disable Local Trigger
- Do While
- Download file from URL
- Download Storage File
- Enable Local Trigger
- Evaluate Business Rule
- Exists in Collection
- Extract/Unzip Files
- Extract Date and Time from Text
- Extract Text
- File Change Trigger
- File Exists
- Filter Collection
- Filter Data Table
- Folder Exists
- For Each
- For Each File in Folder
- File Change Trigger V3
- Find and Replace
- Find Matching Patterns
- For Each Folder in Folder
- For Each Row in Data Table
- Format Date as Text
- Format Value
- Generate Data Table From Text
- Get Asset
- Get Credential / Get Orchestrator Credential
- Get Current Job Info
- Get Environment Folder
- Get Environment Variable
- Get File Info
- Get Folder Info
- Get Jobs
- Get Processes
- Get Row Item
- Get Transaction Item
- Get Username/Password
- Get Queue Items
- Global Variable Changed Trigger
- Input Dialog
- Invoke Code
- Invoke Com Method
- Invoke Power Shell
- Invoke Process
- Invoke VBScript
- Invoke Workflow File
- Is Text Matching
- Join Data Tables
- Kill Process
- Launch Workflow Interactive
- List Storage Files
- Log Message
- Lookup Data Table
- Manual Trigger
- Merge Collections
- Merge Data Table
- Message Box
- Modify Date
- Modify Text
- Move File
- Move Folder
- Multiple Assign
- New Item Added to Queue
- Notify Global Variable Changed
- Orchestrator HTTP Request
- Output Data Table
- Path Exists
- Postpone Transaction Item
- Process End Trigger
- Process Start Trigger
- Raise Alert
- Read List Item
- Read Text File
- Read Storage Text
- Remove Data Column
- Remove Data Row
- Remove Duplicate Rows
- Remove From Collection
- Remove Log Fields
- Replace Matching Patterns
- Repeat Number of Times
- Repeat Trigger
- Rename File
- Rename Folder
- Report Status
- Reset Timer
- Resume Timer
- Retry Scope
- Return
- Run Local Triggers
- Run Parallel Process
- Set Asset
- Set Credential
- Set Environment Variable
- Set Transaction Progress
- Set Transaction Status
- Should Stop
- Split Text
- Sort Data Table
- Start Timer
- Start Job
- Stop Job
- Stop Local Triggers
- Stop Timer
- Text to Left/Right
- Text to Upper/Lowercase
- Time Trigger
- Trigger Scope
- Timeout Scope
- Update Row Item
- Update List Item
- Upload Storage File
- Wait for Download
- Wait Queue Item
- While
- Workflow Placeholder
- Write Storage Text
- Write Text File
- AddDataRow
- AddQueueItem
- AddTransactionItem
- AppendLine
- BulkAddQueueItems
- ClearDataTable
- CompressZipFiles
- CopyFile
- CreateFile
- CreateFolder
- DeleteFileOrFolder
- DeleteQueueItems
- DeleteStorageFile
- DownloadStorageFile
- ExtractUnzipFiles
- FilterDataTable
- GetAsset
- GetCredential
- GetJobs
- GetQueueItem
- GetQueueItems
- GetResourceForLocalPath
- GetRowItem
- GetTransactionItem
- InvokeProcess
- JoinDataTables
- ListStorageFiles
- LookUpDataTable
- MergeDataTable
- MoveFile
- OrchestratorHTTPRequest
- OutputDataTable
- PathExists
- PostponeTransactionItem
- ReadStorageText
- ReadTextFile
- RemoveDataColumn
- RemoveDuplicateRows
- Replace
- SetAsset
- SetCredential
- SetTransactionProgress
- SetTransactionStatus
- SortDataTable
- StartJob
- StopJob
- UpdateRowItem
- UploadStorageFile
- WaitQueueItem
- WriteStorageText
- WriteTextFile
- Testing
- Release notes
- About the Testing activity package
- Project compatibility
- Project Settings
- Add Test Data Queue Item
- Address
- Attach Document
- Bulk Add Test Data Queue Items
- Create Comparison Rule
- Delete Test Data Queue Items
- Get Test Data Queue Item
- Get Test Data Queue Items
- Given Name
- Last Name
- Random Date
- Random Number
- Random String
- Random Value
- Verify Control Attribute
- Verify Documents Equivalence
- Verify Expression
- Verify Expression With Operator
- Verify Range
- Verify Text Equivalence
- Address
- AddTestDataQueueItem
- AttachDocument
- BulkAddTestDataQueueItems
- DeleteTestDataQueueItems
- GetTestDataQueueItem
- GetTestDataQueueItems
- GivenName
- LastName
- RandomDate
- RandomNumber
- RandomString
- RandomValue
- VerifyAreEqual
- VerifyAreNotEqual
- VerifyContains
- VerifyExpression
- VerifyExpressionWithOperator
- VerifyIsGreater
- VerifyIsGreaterOrEqual
- VerifyIsLess
- VerifyIsLessOrEqual
- VerifyIsRegexMatch
- VerifyRange
- Workflow Events
- Workflow Foundation
Workflow Activities
Dynamic Dropdowns
You can add dynamic dropdown lists in your form, using the Drop-down List component in the Form Designer. These tutorials describe how to create a dynamic dropdown list with elements that represent countries.
To create a dynamic dropdown list:
- Drag and drop a Sequence activity into your workflow. For this example, name it
DynamicDropdowns
. -
Create two variables:
2.1. Create aString
variable type and set the scope as the Sequence activity. For this example, name the variablecountry
and set the scope toDynamicDropdowns
.2.2. Create aList<String>
variable type and set the scope as the Sequence activity. For this example, name the variablecountryList
and set the scope toDynamicDropdowns
. -
Inside the Default field of the
List<String>
variable, create a new List of type String, that holds the names of the countries. For example, inside the Default field of thecountryList
variable, type in the following expression:New List (Of String) From { "US", "India", "Romania" }
New List (Of String) From { "US", "India", "Romania" } - Drag and drop a Create Form activity in your Sequence.
-
In the FormFieldsCollection property menu bind the variables to your form:
5.1. Create an argument of Type String with the Direction In/Out and set the value as theString
variable. For this example, set the value as thecountry
variable. Name the argumentcountry
5.2. Create an argument of Type List<String> with the Direction In and set the value as theList<String>
variable. For this example, set the value as thecountryList
variable. Name the argumentcountry_dropdown
.
country_dropdown
argument makes the dropdown list dynamic and populates it with the elements from the List<String>
variable.
6. Open the Form Designer.
6.1. Drag and drop a Drop-down List component in the Form Designer.
String
argument in the Property Name field. For this example, input country
.
6.3. Save the component.
7. Save the form.
Result: The Drop-down List component shows as options the list of Strings created at step 3.
Creating a dynamic dropdown inside a Data Grid
This tutorial demonstrates how to create a dynamic dropdown inside a Data Grid. The Data Grid component displays, inside the form, data that comes from a Data Table previously created. To create a dynamic dropdown inside a Data Grid:
-
Create a Data Table using the Build Data Table activity. For this example, save the data table as a variable named
sampleDataTable
. -
Add a Invoke Code activity into your workflow and set the Language to CSharp.
2.1. Select Edit Code and create a list of Strings, where you add the options that you want to display dynamically in the dropdown list. For example, add the code below inside the Code Editor:
countryListInitialized = new List<string>(); countryListInitialized.Add("USA"); countryListInitialized.Add("India"); countryListInitialized.Add("Romania"); countryListInitialized.Add("Dubai");
countryListInitialized = new List<string>(); countryListInitialized.Add("USA"); countryListInitialized.Add("India"); countryListInitialized.Add("Romania"); countryListInitialized.Add("Dubai");2.2. Select Edit arguments and create an argument that will store the list of Strings created inside a variable that you can later use inside your workflow. The name of the argument must have the same name as the list created in the Code Editor. For this example, create an argument namedcountryListInitialized
, with the directionIn/Out
, the typeList<String>
, that has the value set as aList<String>
variable. For this example, name the variablecountryListVariable
. -
Add a Create Form activity into your workflow.
3.1. Add a Data Grid component.
3.2. Add a Text Field component inside the Data Grid.
3.3. Add a Drop-down List component inside the Data Grid.
-
Open the FormFieldsCollection and create the following arguments, to bind data to the form:
Name
Direction
Type
Value
Description
dataGridSample
In/Out
DataTable
sampleDataTable
This argument binds the data from the Data Table to the Data Grid component inside the form.
For this example, the Data Table is stored inside thesampleDataTable
variable.countryList_dropdown
In/Out
List<String>
countryListVariable
This argument binds the data from the list of Strings to the Drop-down List* component inside the form.
The_dropdown
suffix makes the dropdown dynamic.For this example, the list of Strings is stored inside thecountryListVariable
variable.countryList_parent
In
String
"dataGridSample"
This argument binds the dynamic dropdown to the Data Grid component, through the_parent
suffix, and through inputting the Field Key of the Data Grid component inside the Value column.For this example, thedataGridSample
is the Field Key of the Data Grid component. -
Open the Form Designer.
5.1. Set the Field Key of the Data Grid component as the argument that binds the Data Table to the form. For this example, set the Field Key of the Data Grid component asdataGridSample
.5.2. Set the Field Key of the Text Field component as the name of the Data Table column that represents text. For this example, set it asname
.5.3. Set the Field Key of the Drop-down List component as the name of the argument that binds the list of Strings to the form. For this example, set it ascountryList
. - Save each component and the form.
Result: The Drop-down List component shows as options the list of Strings created at step 2, inside the column of a Data Grid.
To check the complete workflow or to have a future reference, download the XAML example