Links

Structure, Sections & Fields

Structure

  • 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 the Request.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 and saveAsDraftButton, respectively.
  • 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:
protected void Page_Load(object sender, EventArgs e)
{
base.Page_Load(sender, e);
String stylePath=HttpContext.Current.Request.PhysicalApplicationPath.Replace("WfApps\\WebForms\\","App_Data\\Templates\\Forms\\En\\Default\\css");
Page.Header.Controls.Remove(this.FindControl("StyleSheet"));
Page.Header.Controls.Add(
new LiteralControl(
System.IO.File.ReadAllText(stylePath + "\\" + "metal.css")
)
);
string imageUrl="http://mywebsite/mylogo.jpg"
HeaderImage.Style["background-image"] = "url('" + imageUrl+ "')";
HeaderTitleLabel.Text="My Title #";
FooterTitleLabel.Text="My footer";
imageUrl="http://mywebsite/myfooter.jpg";
FooterImage.Style["background-image"] = "url('" + imageUrl+ "')";
}
This replaces:
  • The current style sheet with the metal.css template
  • The header title label
  • The header image
  • The footer title label
  • The footer image
You should define the width and height of the images in the form configuration in the .NET code.

📌 Example:

FooterImage.Style["width"] = "200px";
FooterImage.Style["height"] = "100px";
An absolute URL is recommended because the generated form archive (HTML) could be opened in the email notification.

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: \wfgen\App_Data\Templates\Forms\[language]\[folder name]\sections\[section name].txt 📌 Example: \wfgen\App_Data\Templates\Forms\En\MyCompany\sections\MySection.txt ✏️ Note: A custom section template must comply with the content structures and rules used and known by the form designer. This is aimed at advanced users.
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: \wfgen\App_Data\Templates\Forms\[language]\[folder name]\fields\[field name].txt 📌 Example: \wfgen\App_Data\Templates\Forms\En\MyCompany\fields\MyField.txt ✏️ Note: A custom field template must comply with the content structures and rules used and known by the form designer. This is intended for advanced users.
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 Ctrl+Spaceto display a drop-down menu that lists the available variables and keywords.
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: MyTextBox.Text == "Hello World"
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: MyTextBox.Text == "Hello World"
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: MyTextBox.Text == "Hello World"

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
  • Web address (URL): Stores the image in the form folder
  • Embedded image: Embeds the image in the form archive HTML
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. txt,doc,html,xml,png)
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:
  • Display: the field is read-only
  • Edit: the field can be edited
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 Ctrl+Spaceto display a drop-down menu that lists the available variables and keywords.
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: MyTextBox.Text == "Hello World"
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: MyTextBox.Text == "Hello World"
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: MyTextBox.Text == "Hello World"
Custom attributes
Name
Any name that is not in the list of standard reserved attribute names (id, name, class, style, title, multiple, type, value, checked, runat)
Additional reserved attribute names specific to File attachment / General: accesskey, dir, lang, tabindex, xml:lang, onblur, onchange, onclick, onfocus, onmousedown, onmousemove, onmouseout, onmouseover, onmouseup, onkeydown, onkeypress, onkeyup, onselect, enabled, visible, ondatabinding, ondisposed, oninit, onload, onprerender, onunload
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 Ctrl+Spaceto display a drop-down menu that lists the available variables and keywords.
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: MyTextBox.Text == "Hello World"
✏️ 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: MyTextBox.Text == "Hello World"
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: MyTextBox.Text == "Hello World"
Custom attributes
aslist
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: true or false

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 Ctrl+Spaceto display a drop-down menu that lists the available variables and keywords.
Maximum length
The maximum number of characters that can be entered
✏️ Note: Now also 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: MyTextBox.Text == "Hello World"
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: TextBox.Text == "Hello World"
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: MyTextBox.Text == "Hello World"
Regular expression
Expression
A regular expression to determine validity.
📌 Example: email address: \b[A-Za-z0-9._%+-][email protected][A-Za-z0-9.-]+\.[A-Za-z]{2,4}\b
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:
  • Equal (=)
  • Greater than (>)
  • Greater than or equal to (>=)
  • Less than (<)
  • Less than or equal to (<=)
  • Not equal (<>)
Error message
Message to display when the validated field is invalid
Custom attributes
timezoneconversion
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: true or false
Additional reserved attribute names specific to validation
maxlength, requiredcondition, readonlycondition, hiddencondition, validationexpression, regularexpressionerrormessage, minimumvalue, maximumvalue, rangeerrormessage, onservervalidate, validateemptytext, customerrormessage, valuetocompare, controltocompare, operator, compareerrormessage

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:
  • Name
  • String
  • Global lists
  • XML
  • SharePoint
Connection by name
Connection name
List of connection names defined in the WorkflowGen web configuration file (<connectionStrings>)
✏️ 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 web.config file.
Select command
SQL select query
📌 Examples: select column_id, column_text from table_name;
Data value field
The data field that provides the item value
📌 Example: column_id
Data text field
The data field that provides the item text
📌 Example: column_text
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 Select command uses a filter with a dynamic value from a parameter in the select query.
📌 Example: Name=PARAM; Select command=select column_id, column_text from table_name where column_id > @PARAM
Data type
Specifies the data type of the parameter: Boolean, Byte, Char, DateTime, DBNull, Decimal, Double, Empty, Int16, Int32, Int64, Object, SByte, Single, String, UInt16, UInt32, UInt64
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:
  • Do nothing
  • Remove all items
  • Filter on empty value
Connection by string
Connection String
Specifies the connection string
📌 Example: Data Source=sqlserver_name;Initial Catalog=wfgen;User ID=wfgen_user;Password=abc123!;
Provider name
List of provider names defined in the WorkflowGen web configuration file (AdministrationFormDataProviderName). It also supports custom defined third-party .NET data providers.
  • System.Data.SqlClient (.NET FWK Data Provider for SQL Server)
  • System.Data.OleDb (.NET FWK Data Provider for OLE DB)
  • System.Data.Odbc (.NET FWK Data Provider for ODBC)
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
  • Equal (=)
  • Not equal (<>)
  • Greater than (>)
  • Greater than or equal to (>=)
  • Less than (<)
  • Less than or equal to (>=)
  • Contains
  • Begins with
  • Ends with
  • Is null
  • Is not null
  • In
  • Not In
  • Between
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:
  • c:\myfile.xml
  • http://server_name/myfile.xml
  • http://server_name/service.asmx/getmyfilexml
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:
  • Create a transformation file (.xslt) that can dynamically reformat the .xml file so that it is compatible with the XmlDataSource control.
  • Specify the path of your XSLT file in the "XSL transform file" parameter (see below).
XPath
Specifies an XPath expression to be applied to the XML data contained by the XML file, e.g. rss/channel/item
XSL transform file
Specifies the file name of an Extensible Stylesheet Language (XSL) file (.xsl) that defines an XSLT transformation to be performed on the XML file
📌 Example: c:\myfile.xsl
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: http://www.mysitesps.com/mylists
Name of the list
Name of the SharePoint list
📌 Example: Country
Data field value
Name of the column containing the value of the item
📌 Example: Id_Country
Data text field
Name of the column containing the text of the item
📌 Example: Description
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 Ctrl+Spaceto display a drop-down menu that lists the available variables and keywords.
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: MyTextBox.Text == "Hello World"
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: MyTextBox.Text == "Hello World"
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: MyTextBox.Text == "Hello World"
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: true or false
Additional reserved attribute names specific to Databind
connectionname, connectionstring,