The DocumentList control
The DocumentList control is used to load and manage documents of a Sharepoint Document Library.
The control can also update document attributes at the same time it uploads a document, thus providing an easy way to “relate” documents to the underlying record.
There are cases where the list item attachments is not an adequate solution since they cannot support versioning and they do not exist on their own (out of the scope of the parent list item).
For these cases, the DocumentList control can be used. It will load documents according to a ListQuery and apply document attributes when uploading new documents automatically.

The documents displayed in the control can only be provided using a List Query that reads all the available documents contained in a document library. The ListQuery should be already defined in the ListQuery section of the runtime designer and should be performed over a Document Library. The column selection defined in the ListQuery is not important as the control adds all the required columns in the ListQuery during run-time.
An example of a said List Query is provided below:

To define the control’s values, we choose the following:

The DocumentList does not provide any Lookup options since it cannot contain lookup data. As mentioned above, the values displayed in the control are provided using a List Query.

TargetFolder
Values: Text
Define the folder where the new attachments should be uploaded.
Values
Add Name/Value pairs to update document properties when uploading a new file. Values can be either static or calculated. The Name is the column internal name and the Value is the default value of the column. Set either static values or calculated values based on form controls (i.e. {value:Field1})
The CheckBox control
The CheckBox control is used commonly to present the user with the ability to gather a set of true or false values that aren’t mutually exclusive. It can contain a check mark or be unchecked (empty).
Any of the available options can be used.
The CheckBox does not provide any Lookup options since it cannot contain lookup data.
Text
Values: Any text
It defines the text in the checkbox’s accompanying label. It is used to explain the reason of setting True or False value in this specific field.
The MultiChoiceCheckBox control
The MultiChoiceCheckBoxes control allows the user to select a single option from a group of choices. This control is a Lookup control meaning that it can either contain static values or load its values from another list.

Any of the available options can be used.
If the control is bound to a choice column, then the Static Values property is automatically filled with the underlying values from the column. The property is read-only as every change in the column values will be automatically reflected in the control values.
If the control is bound to a lookup column, then the list info should be filled in.
The Site Url, List (and/or View) properties should be defined.
The normal behavior of lookup columns is to display the Title and save the ID of the selected record.
For that reason, 2 properties can be defined in the Lookup Details tab: Display Field & Value Field.
These properties should be automatically filled when first registering PowerForms for an existing list/content type.
In order to add criteria for the list query that will provide control data, use the criteria options.
Details on how to setup criteria can be found in the following links:

Columns
Values : Integer
Splits the CheckBoxes into different columns. The property ignores the value 0 (zero) and translates it into 1 column regardless.
Sorted
Values: True (Default), False
Defines if the results will be sorted by the Display Field
UniqueField
If the internal name of a column is supplied, the retrieved results will be filtered allowing unique values for that specific field
The MultiRadioButton control
The MultiRadioButton control allows the user to select a single option from a group of choices. This control is a Lookup control meaning that it can either contain static values or load its values from another list.

Any of the available options can be used.
If the control is bound to a choice column, then the Static Values property is automatically filled with the underlying values from the column. The property is read-only as every change in the column values will be automatically reflected in the control values.
If the control is bound to a lookup column, then the list info should be filled in.
The Site Url, List (and/or View) properties should be defined.
The normal behavior of lookup columns is to display the Title and save the ID of the selected record.
For that reason, 2 properties can be defined in the Lookup Details tab: Display Field & Value Field.
These properties should be automatically filled when first registering PowerForms for an existing list/content type.
In order to add criteria for the list query that will provide control data, use the criteria options.
Details on how to setup criteria can be found in the following links:

Columns
Values : Integer
Splits the MultiRadioButton’s multiple selections to different columns. The radio buttons continue to work as a group, regardless of their apparent split. The property ignores the value 0(zero) and translates it into 1 column regardless. Eg.
SaveValueFieldOnly
Values: True, False (Default)
Set this property to TRUE to force the control to send only the Value Member value of the underlying lookup value when saving its value. Normally lookup controls that load data from other lists, use the ID;#TITLE format to save data
IncludeBlankOption
Values: True (Default), False
Set this property to TRUE to force the control to add an additional BLANK choice to the available group of selections. It allows the user the choice of not selecting a value by force.
Sorted
Values: True (Default), False
Defines if the results will be sorted by the Display Field
UniqueField
If the internal name of a column is supplied, the retrieved results will be filtered allowing unique values for that specific field
The RichTextBox control
A Rich Textbox control is generally used for displaying, entering and manipulating text with formatting. The RichTextBox control does everything a textbox control does, but it can also display fonts, colors, links, margins, load text and images from a file. Although it adds more complexity when compared to a regular textbox, it provides much needed features.
The RichTextBox control can be used with any Sharepoint text field, but it order to unlock all its features you have to bind it to a textbox defined with multiple lines of text. It automatically recognizes the type of text allowed with the rich textbox field and enables or disables the features available for use, as shown below:
Multiple line of Text columns with Plain Text mode selected, the RichTextBox control renders as a simple TextBox with no additional options to format text.

For Rich text mode, the control renders with the appropriate toolbar options available :


For Enhanced rich text columns, the control displays all the available toolbar options.


Any of the available options can be used.
The RichTextBox does not support lookup data loading.
ValueChangeMode
Values : TextChange, LostFocus, None
Indicates that the control will raise the value change event in the form only when loses focus. If not set, the control will raise the event in every text change.
The ProgressBar control
The Progress Bar is a control that is not available in sharepoint by default. It can be used instead of a numeric textbox, in order to show a different view of the value. The value can also be shown as a percentage (%)

To connect the progress bar with a numeric control, the Progress bar should be declared as Calculated.
The calculation formula should be FieldValue(“Control_Name”) where Control_Name is the name of the numeric control that passes the value. In our example FieldValue(“c_Percentage”).
When the field in the calculation formula is numeric it is safer to declare it in Us locale so that it has the same locale with Sharepoint, and all the possible calculations will be completed in the same format
eg. nnus(FieldValue(“c_Percentage”)).
The Progress bar control has the following properties:
Property : MinimumValue
Numeric, indicates the minimum value for the progress bar
Property : MaximumValue
Numeric, indicates the maximum value for the progress bar
Property : Decimals
Numeric, set the number of decimals for the value, default is 0.
Property : TextMode
Values :
None – It will show nothing on the progress bar
Percentage – It will show percentage on the progress bar after calculating it with min and max values
Value : Shows the actual value of the control

