Structure, Sections & Fields
Structure
Header
The header contains a title, a label, and an optional image.
The title can be used to display the process name. Its text can be edited directly in the form.
The label is used to display the current request number. Its default identifier is
CURRENT_REQUEST
and can be referenced in an action parameter to receive theRequest.Id
macro.The image is used to display a logo. It can be resized or realigned.
A fixed width and height can be set for the header in the form configuration window.
Section
The section has a title to display the section name. Its text can be edited directly on the form.
It can have one or several fields.
Each section must have a unique identifier.
Sections can only be aligned vertically and reordered using the mouse drag-and-drop action.
When inserting a section tool into the form, the new section will be placed in the last position.
Section width will be resized automatically based on the widest field in the form whenever there is a field width change.
A fixed width can be set for all sections.
The section’s settings can be edited by clicking the pencil icon on the right side of the section name.
See Tools for the different types of default section.
Field
The field has a label and an input control.
The label is used to display the name of the field. Its text can be edited directly on the form. It can be resized and realigned.
A fixed width can be set for all labels (General / Labels).
The input control is where a value is captured in the form. It can be resized and realigned.
Each field must have a unique identifier.
Fields within the same section are prefixed with the section’s identifier following an underscore character.
Fields within a section can be reordered vertically using the mouse drag-and-drop action.
A field can be moved from one section to another section using the mouse drag-and-drop action.
When inserting a field tool into the form, the new field will be placed in the last position of the selected section or the first section if no section is selected.
By default, fields are aligned vertically on the same column.
Two fields can be aligned horizontally on the same row using the Remove line break button (left arrow) on the right side of the first field.
Two fields can be aligned vertically on the same column using the Line break button (right arrow) on the right side of the first field.
The field’s settings can be edited edited by clicking the pencil icon on the right side of the field.
See Tools for the different types of default field.
Button
The Submit and Save as draft buttons can be renamed in the form configuration window (General / Buttons) or in the Appearance Editor (see Appearance Editor).
The Save as draft button can be enabled or disabled as well.
Their identifiers are
submitButton
andsaveAsDraftButton
, respectively.
Footer
The footer contains a title and an optional image.
The title can be used to display a note. Its text can be edited directly on the form.
The image is used to display a logo. It can be resized or realigned in the form configuration window (General / Footer) or in the Appearance Editor (see Appearance Editor).
A fixed width and height can be set for the footer.
You can also change the web form style sheet and other attributes (header image, footer, text, etc.) at runtime by adding the following .NET code to your form:
This replaces:
The current style sheet with the
metal.css
templateThe header title label
The header image
The footer title label
The footer image
Sections & fields
Tools
Default and custom tools are available in the Tools drop-down list.
Name | Description |
Manage custom tools... | Opens the Manage custom tools window |
Custom – sections | List of custom section templates
A custom section template can be created by using the Save a section or field as tool feature or by manually deploying it on the server with the following folder and file structures: |
Custom – field | List of custom field templates A custom field template can be created by using the Save a section or field as tool feature or by manually deploying it on the server with the following folder and file structures: |
Default sections | |
Approval | A section that contains first name, last name, and date fields in read-only, plus an approval radio button list and comment multiline textbox |
Empty | A section that has no fields |
Request | A section that contains first name, last name, and date fields in read-only, plus a category drop-down list, subject textbox, and description multiline textbox |
Standard | A section that contains first name, last name, and date fields in read-only |
Default fields | |
Attachment | Attach one file |
CheckBox | Single checkbox |
CheckBoxList | Multiple checkboxes in horizontal alignment |
CheckBoxListVertical | Multiple checkboxes in vertical alignment |
Currency | Input for currency value |
Date | Input for date value |
DateTime | Input for date time value |
DropDownListBox | List of items for a single choice selection |
GridView | Dynamic table of multiple input fields; each column represents a field and each row represents a record |
Label | Text displayed in read-only |
ListBox | List of items for a multiple choice selection |
Numeric | Input for numeric value |
Password | Input for password value (the entered text will be masked) |
RadioButton | Single radio button |
RadioButtonList | Multiple radio buttons in horizontal alignment |
RadioButtonListVertical | Multiple radio buttons in vertical alignment |
ReadOnlyCurrency | Read-only currency value |
ReadOnlyDate | Read-only date value |
ReadOnlyDateTime | Read-only date time value |
ReadOnlyNumeric | Read-only numeric value |
ReadOnlyText | Read-only text value |
TextArea | Multiline textbox |
TextBox | Single line textbox |
Save a section or field as tool
This feature allows a form designer to save an existing section or field in the current form as a custom tool template in order to be reused in other forms. First, select a section or field then click the Save a section or field as tool icon on the toolbar (see Toolbar).
Field | Description |
Save as tool | |
Name | Enter a unique name for the custom tool |
Tools | Select an existing tool in the drop-down list for replacement |
Manage custom tools
To open this window, click the Tools drop-down menu and select Manage custom tools, which allows you to delete custom tools.
Name / Icon | Description |
Sections | |
Name | Name of the custom section tool |
Delete the current custom section tool | |
Fields | |
Name | Name of the custom field tool |
Delete the current custom field tool |
Section settings
Name / Icon | Description |
Close and apply the changes to the section | |
Close and cancel the changes | |
Validation | |
Behavior | ✏️ Note: To simplify the capture of a condition, the form fields and operators are listed in the Select a field... and Select an operator... drop-down menus. You can also press |
Required | Sets the section fields to be required |
Condition | The section fields are required based on a custom condition. If the condition is empty then it will be true. The custom condition must be server-side C# syntax code. 📌 Example: |
Read-only | Sets the section’s fields to read-only |
Condition | The section fields are read-only based on a custom condition. If the condition is empty then it will be true. The custom condition must be server-side C# syntax code. 📌 Example: |
Hidden | Sets the section fields to be hidden |
Condition | The section fields are hidden based on a custom condition. If the condition is empty then it will be true. The custom condition must be server-side C# syntax code. 📌 Example: |
File attachment field settings
Name / Icon | Description |
Close and apply the changes to the field | |
Close and cancel the changes | |
General | |
Enable advanced mode | Enables the file attachment settings listed below |
Enable download link | Check if you want to enable the link to open file |
Show file size | Displays the size of the uploaded file beside the download link |
Upload file automatically | Automatically uploads the file, otherwise an upload button will be displayed |
Control style | Display the Modify and Delete controls as links or buttons |
Image/PDF preview | Display an image or PDF preview (thumbnail) |
Position | Display the image preview above (Top) or below (Bottom) the attachment filename and controls |
Width / Height | Sets the width and/or height of the image preview in pixels ⚠️ Important: You should only set one of these values in order to preserve the aspect ratio of the original image as displayed in the preview; otherwise, the image will appear distorted. |
Storage in form archive |
|
File size limit (kB) | Defines the maximum size of the uploaded file in kilobytes |
Size restriction error message | Write error that will appear if file exceeds the file size limit |
Allowed extensions | Restricts the allowed file types by extension, separated by commas (e.g. |
Forbidden extensions | List of file extensions not allowed for links |
Extension restriction error message | Write error message that will be displayed when file extension error occurs |
Empty file error message | Write error message that will display when there is no file to link to |
Add button label | Display text for the add button |
Update button label | Display text for update button |
Delete button label | Display text for delete button |
Overwrite button label | Allows you to choose a new file |
Cancel button label | Allows you to cancel request for a new file |
Display mode | Sets the default display mode:
|
Download link | Check to display a link to download the uploaded file |
Validation | |
Behavior | ✏️ Note: To simplify the capture of a condition, the form fields and operators are listed in the Select a field... and Select an operator... drop-down menus. You can also press |
Required | Sets the field to be required |
Condition | The field is required based on a custom condition. If the condition is empty then it will be true. The custom condition must be server-side C# syntax code. To help with the capture of the condition, the list of form fields and a list of operators are displayed. 📌 Example: |
Read-only | Sets the field to be read-only |
Condition | The field is read-only based on a custom condition. If the condition is empty then it will be true. The custom condition must be server-side C# syntax code. To help with the capture of the condition, the list of form fields and a list of operators are displayed. 📌 Example: |
Hidden | Sets the field to be hidden |
Condition | The field is hidden based on a custom condition. If the condition is empty then it will be true. The custom condition must be server-side C# syntax code. To help with the capture of the condition, the list of form fields and a list of operators are displayed. 📌 Example: |
Custom attributes | |
Name | Any name that is not in the list of standard reserved attribute names ( Additional reserved attribute names specific to File attachment / General: A list of examples of custom attributes is displayed at the beginning of the tab; you can choose one or enter a specific name. |
Value | Any value |
Add a new attribute | |
Remove the current attribute |
CheckBox/RadioButton field settings
These settings apply to CheckBoxList, CheckBoxListVertical, RadioButtonList and RadioButtonListVertical fields as well.
Name / Icon | Description |
Add a new checkbox/radio button | |
Delete the current checkbox/radio button | |
Items | |
Drag and drop to change the order of the items | |
Checked | Check the default selected items in the field. The radio button field supports single selection whereas the checkbox field supports multiple selections. |
Value | Value of the checkbox/radio button |
Text | Display text of the checkbox/radio button |
Add a new checkbox/radio button | |
Delete the current checkbox/radio button | |
Validation | |
Behavior | ✏️ Note: To simplify the capture of a condition, the form fields and operators are listed in the Select a field… and Select an operator... drop-down menus. You can also press |
Required | Sets the field to be required |
Condition | The field is required based on a custom condition. If the condition is empty then it will be true. The custom condition must be server-side C# syntax code.
📌 Example: ✏️ Note: The checkbox fields (list or single) and single radio button are not supported by this behavior. |
Read-only | Sets the field to be read-only |
Condition | The field is required based on a custom condition. If the condition is empty then it will be true. The custom condition must be server-side C# syntax code.
📌 Example: |
Hidden | Sets the field to be hidden |
Condition | The field is required based on a custom condition. If the condition is empty then it will be true. The custom condition must be server-side C# syntax code.
📌 Example: |
Custom attributes | |
| This property allows a radio button and checkbox field with one item to be converted as a list control (RadioButtonList / CheckBoxList) instead of a RadioButton / CheckBox control in the web form. Accepted Boolean values: |
TextBox field settings
These settings apply to Currency, Date, DateTime, Numeric, Password, and TextArea fields.
Name / Icon | Description |
Close and apply the changes to the field | |
Close and cancel the changes | |
Validation | |
Behavior | ✏️ Note: To simplify the capture of a condition, the form fields and operators are listed in the Select a field... and Select an operator... drop-down menus. You can also press |
Maximum length | The maximum number of characters that can be entered ✏️ Note: Not available for TextArea fields. |
Required | Sets the field to be required |
Condition | The field is required based on a custom condition. If the condition is empty then it will be true. The custom condition must be server-side C# syntax code. 📌 Example: |
Read-only | Sets the field to be read-only |
Condition | The field is read-only based on a custom condition. If the condition is empty then it will be true. The custom condition must be server-side C# syntax code. 📌 Example: |
Hidden | Sets the field to be hidden |
Condition | The field is hidden based on a custom condition. If the condition is empty then it will be true. The custom condition must be server-side C# syntax code. 📌 Example: |
Regular expression | |
Expression | A regular expression to determine validity. 📌 Example: email address: A regular expression can be entered freely into the designated area. It is also possible to use regular expressions in the Select a regular expression list. |
Error message | Message to display when the validated field is invalid |
Range | |
Minimum value | Minimum value for the field being validated |
Maximum value | Maximum value for the field being validated |
Error message | Message to display when the validated field is invalid |
Custom | |
OnServerValidate | Server-side C# syntax validation code; must return a Boolean value (true or false) |
Validate empty text | Whether the validator validates the control when the text of the control is empty |
Error message | Message to display when the validated field is invalid |
Compare | |
Value to compare | Value to compare against |
Control to compare | Select another field in the current form to compare against |
Operator | Comparison operation to apply to values:
|
Error message | Message to display when the validated field is invalid |
Custom attributes | |
| Applicable to Date and DateTime textbox fields only This property allows the disabling of the default user time zone conversion behavior when the form field is in the Date or DateTime format. This option is useful if you want to capture and maintain a consistent date-only value in the form field and process data without applying the time zone conversion that sometimes changes the date value depending on the original and current user time zones. Accepted Boolean values: |
Additional reserved attribute names specific to validation |
|
ListBox/DropDownListBox field settings
These settings (except Items) apply to Label, ReadOnlyCurrency, ReadOnlyDate, ReadOnlyDateTime, ReadOnlyNumeric, and ReadOnlyText fields as well.
Name / Icon | Description |
Close and apply the changes to the field | |
Close and cancel the changes | |
Items | |
Drag-and-drop to change the order of the items | |
Selected | Check the default selected items in the field The DropdownListBox field supports single selection whereas the ListBox field supports multiple selections. |
Value | Value of the item |
Text | Displays text of the item |
Add a new item | |
Delete the current item | |
Databind | |
Connection mode | Select the type of connection for data binding:
|
Connection by name | |
Connection name | List of connection names defined in the WorkflowGen web configuration file ( ✏️ Note: It is strongly recommended to use a connection name rather than a connection string to simplify multi-environment management. Connection names are centrally managed in the WorkflowGen |
Select command | SQL select query 📌 Examples: |
Data value field | The data field that provides the item value 📌 Example: |
Data text field | The data field that provides the item text 📌 Example: |
Append data bound items | Check to append the data bound items to the list. Otherwise, the data bound items will replace all the existing items in the list. |
Parameters | |
Name | Specifies the parameter name if the 📌 Example: |
Data type | Specifies the data type of the parameter: |
Filter by field | Specifies another field in the current form where the dynamic value will be retrieved |
Default filter value | Specifies the default value if the parameter field has an empty value or no value |
If the value is empty | Select from one of the following:
|
Connection by string | |
Connection String | Specifies the connection string 📌 Example: |
Provider name | List of provider names defined in the WorkflowGen web configuration file (
|
Select command, Data value field, Data text field, Append data bound items, Parameters (Name, Field, Default value and Data type) | Same as Connection by name |
Connection by global lists | |
List name | Specifies the list name |
Data value column | Select the column used for item’s value |
Data text column | Select the column used for item’s label |
Sort column | Select the column used to sort the list |
Append data bound items | Check to append the data bound items to the list. Otherwise, the data bound items will replace all the existing items in the list. |
Filter | |
Column | Specifies the column name used to filter data |
Comparison operator |
|
Filter by field | Select the form field that contains the filter’s value |
Default filter value | The default value if the field is empty |
If the value is empty | Set the behavior of the filter if the value is empty |
Connection by XML | |
URL | Specifies the file name of an XML file for data binding 📌 Examples:
The XML file must be structured so that the properties of each element are expressed as attributes. If you have an XML file in which property values are expressed in a format other than attributes, you must:
|
XPath | Specifies an XPath expression to be applied to the XML data contained by the XML file, e.g. |
XSL transform file | Specifies the file name of an Extensible Stylesheet Language (XSL) file ( 📌 Example: |
Data value field, Data text field, Append data bound items | Same as Connection by Name |
Connection by SharePoint 2007 and 2010 | ✏️ Note: The settings in the config file have to be set to detect SharePoint for this option to be active. |
URL | URL of the SharePoint list 📌 Example: |
Name of the list | Name of the SharePoint list 📌 Example: |
Data field value | Name of the column containing the value of the item 📌 Example: |
Data text field | Name of the column containing the text of the item 📌 Example: |
Validation | |
Behavior | ✏️ Note: To simplify the capture of a condition, the form fields and operators are listed in the Select a field… and Select an operator… drop-down menus. You can also press |
Maximum length | The maximum number of characters that can be entered ✏️ Note: Not available for TextArea fields. |
Required | Sets the field to be required |
Condition | The field is required based on a custom condition. If the condition is empty then it will be true. The custom condition must be server-side C# syntax code. 📌 Example: |
Read-only | Sets the field to be read-only |
Condition | The field is read-only based on a custom condition. If the condition is empty then it will be true. The custom condition must be server-side C# syntax code. 📌 Example: |
Hidden | Sets the field to be hidden |
Condition | The field is hidden based on a custom condition. If the condition is empty then it will be true. The custom condition must be server-side C# syntax code. 📌 Example: |
Custom attributes | |
timezoneconversion | Applicable to Date and DateTime Label fields only This property allows for the disabling of the the default user time zone conversion behavior when the form field is in Date or DateTime format. This option is useful if you want to capture and maintain a consistent date-only value in the form field and process data without applying the time zone conversion that sometimes changes the date value depending on the original and current user time zones. Accepted Boolean value: |
Additional reserved attribute names specific to Databind |
|
GridView field settings
Name / Icon | Description |
Close and apply the changes to the field | |
Close and cancel the changes | |
Columns | |
Drag-and-drop to change the order of the columns | |
Header text | Display text on the column header |
Field type | List of field types supported in the GridView:
✏️ Notes:
|
Footer text | Display text of the column’s footer The column’s footer text can be plain text or an expression used to filter rows, calculate the values in a column, or create an aggregate column (e.g. to calculate a summary from all the row values of the same column: |
Add a new column | |
Delete the current column | |
Appearance | |
Edit button label | Display text for the edit button |
Delete button label | Display text for the delete button |
Update button label | Display text for the update button |
Cancel button label | Display text for the cancel button |
Show edit button | Check to display edit button |
Show delete button | Check to display delete button |
Show header | Check to display the header |
Show footer | Check to display the footer |
Validation | |
Behavior | ✏️ Note: To simplify the capture of a condition, the form fields and operators are listed in the Select a field... and Select an operator... drop-down menus. You can also press |
Required | Sets the field to be required |
Condition | The field is required based on a custom condition. If the condition is empty then it will be true. The custom condition must be server-side C# syntax code. 📌 Example: |
Read-only | Sets the field to be read-only |
Condition | The field is read-only based on a custom condition. If the condition is empty then it will be true. The custom condition must be server-side C# syntax code. 📌 Example: |
Hidden | Sets the field to be hidden |
Condition | The field is hidden based on a custom condition. If the condition is empty then it will be true. The custom condition must be server-side C# syntax code. 📌 Example: |
Additional reserved attribute names specific to GridView / Appearance |
|
ASP.NET user control field tool
The Form Designer supports a custom field tool that is an ASP.NET user control. You can create this tool and manually deploy it on the server. It must have the following elements, folder and file structures:
User control field template:
\wfgen\App_Data\Templates\Forms\[language]\[folder name]\fields\[user control name].txt
User control sources:
ASCX:
\wfgen\WfApps\WebForms\[user control name].ascx
Code-behind:
\wfgen\WfApps\WebForms\[user control name].ascx.cs
When you enter a tag, the user control field automatically inserts its closing tag. To collapse a code block, click the down arrow next to the line number, which will insert a double-arrow icon in place of the code. To expand the code block, click the right arrow. Press Ctrl+Space
to show a drop-down menu that displays the available variables and keywords.
The user control field supports the Custom attributes settings (see File attachment field settings).
ID editing
The ID menu in the toolbar will activate the field’s identifier edit mode. You can change the identifier of the header label, sections and fields. Identifiers are normally used to identify a form element such as a section or a field in WorkflowGen’s action parameters (e.g. FORM_FIELDS_REQUIRED
) or in the form’s ASP.NET code-behind.
Rules
Each identifier must be unique.
It must start with a letter.
It can only contain alphanumeric and underscore characters.
It is case sensitive.
Each field within a section will be automatically prefixed with the section’s identifier following an underscore character (e.g.
section id=ACTION1; field id=ACTION1_MYFIELD1
)Each field within a GridView field will be automatically prefixed with the GridView’s identifier following the underscore character (e.g.
gridview id=ACTION1_MYGRIDVIEW1; field id=ACTION1_MYGRIDVIEW1_TITLE1
).If the field is moved from one section to another section, then the field’s identifier will be automatically prefixed with the new section’s identifier.
If the section’s identifier is changed then all the fields within the section will be automatically prefixed with the new section’s identifier.
A tooltip with the full/real identifier of the element will be displayed when you mouseover the identifier input field.
Tooltip editing
The Tooltip menu in the toolbar will activate the field’s tooltip edit mode. You can change the tooltip for the form fields only. Tooltips are normally used to display more information about the field when the user moves the mouse pointer over it.
Format editing
The Format menu in the toolbar will activate the field’s format edit mode. You can change the format of TextBox, Currency, Date, DateTime, Numeric, Label, ReadOnlyCurrency, ReadOnlyDate, ReadOnlyDateTime, ReadOnlyNumeric and ReadOnlyText fields. Formats are normally used to specify the way to capture and display a specific type of value based on the user’s language and culture.
Format types | Description |
Numeric | The value is numeric |
Currency | The value is a currency |
Date Time (system) | WorkflowGen's default date time |
Short date | 6/10/2019 1:45:30 PM ➞ |
Long date | 6/10/2019 1:45:30 PM ➞ |
Short time | 6/10/2019 1:45:30 PM ➞ |
Long time | 6/10/2019 1:45:30 PM ➞ |
Full date/time (short time) | 6/10/2019 1:45:30 PM ➞ |
Full date/time (long time) | 6/10/2019 1:45:30 PM ➞ |
General date/time (short time) | 6/10/2019 1:45:30 PM ➞ |
General date/time (long time) | 6/10/2009 1:45:30 PM ➞ |
Month/day | 6/10/2019 1:45:30 PM ➞ |
Round-trip date/time | 6/10/2019 1:45:30 PM ➞ |
RFC1123 | 6/10/2019 1:45:30 PM ➞ |
Sortable date/time | 6/10/2019 1:45:30 PM ➞ |
Universal sortable date/time | 6/10/2019 1:45:30 PM ➞ |
Universal full date/time | 6/10/2019 1:45:30 PM ➞ |
Year/month | 6/10/2019 1:45:30 PM ➞ |
Last updated