Table of Contents
Overview
A content / label control can simultaneously handle all static content of the page, as well as dynamic labelling based on named ranges defined in the spreadsheet model.
Through the dynamic content injection engine, users can utilize a special tag in order to inject the value of named ranges of all types (i.e. single, list, and table) into the content of these controls.
Properties
The properties of a content / label control are outlined below.
Edit Content
Clicking on the Edit Content button will launch an instance of a rich-text editor with full HTML support. The editor includes a simple menu for the insertion of certain control sets, such as tables, lists, images, videos, and links, as well as text formatting controls, such as boldness, highlighting, and font.
Modifying HTML Contents
Clicking on the HTML (</>) button will change the mode of the editor to HTML-mode. From this mode, users can enter their own HTML contents, including references to classes that are defined in the Stylesheets module. Click the 'X' button in the right corner to close this window and save your changes.
Styles that are defined in the Stylesheets module will not be visible in the User Interface Designer view of the application. These stylesheets are only loaded during the Preview and Published versions of the application.
Note that scripts that are injected into the HTML will be stripped from the contents control for security purposes.
Dynamic Content Injection
The value of calculated and input named ranges can be injected directly into the HTML contents of a content / label control.
All dynamically injected variables will be nested between {{ }} brackets. To begin the process of injecting a variable into the contents, simply begin entering the curly brackets and some helpful hints will show up to guide you through the process.
Single Named Ranges
Upon opening the curly brackets, you will note a list of Single Named Ranges (SNR). Selecting one of these from the hints will populate the content control with the named range's name.
If you would like no formatting to be applied, you can simply close the two brackets and the value will be injected as an unformatted value.
Alternatively, several formatting options are available when injecting the value of a Single Named Range (SNR). To utilize any of the formatting options, simply type in a colon character (:) after the named range's name to see a list of supported data types.
These data types (Integer, Decimal, DateTime or Text) are necessary for the determination of the actual format, so select one that fits the assumed value of the Single Named Range (SNR). Text data type is different from the others since it will get the formatted value directly from the PSC. Text data type has an optional paramater None for format which has no effect on the output.
Upon selecting the data type, add an additional semicolon character (;) to begin defining the desired format for the output value. The .NET formatting standards apply to this format and are outlined below.
- Standard Numeric Formatting
- Custom Numeric Formatting
- Standard Date and Time Formatting
- Custom Date and Time Formatting
See below for some examples.
{{NamedRangeName:Decimal;C2}}
-
When
NamedRangeName = 12
, the formatted value will be$12.00
. -
When
NamedRangeName = 1.2345561
, the formatted value will appear$1.23
. -
When
NamedRangeName = 'ABC'
, the formatted value will appear blank.
{{NamedRangeName:Decimal;P3}}
-
When
NamedRangeName = 0.12
, the formatted value will be12.000%
. -
When
NamedRangeName = 1.2345561
, the formatted value will appear123.457%
. -
When
NamedRangeName = 'ABC'
, the formatted value will appear blank.
{{NamedRangeName:Decimal;00000}}
-
When
NamedRangeName = 1234.5678
, the formatted value will be01235
. -
When
NamedRangeName = 1.2345561
, the formatted value will appear00001
. -
When
NamedRangeName = 'ABC'
, the formatted value will appear blank.
Predefined Formats
In addition to manual format setting you may also use one of the predefined Numeric or Date and Time Formatting:
Integer
(Input value: 1234)
{{ValueInteger:Integer;00}}
=> 1234{{ValueInteger:Integer;#,##0}}
=> 1,234{{ValueInteger:Integer;00000}}
=> 01234{{ValueInteger:Integer;##-##}}
=> 12-34
Decimal
(Input value: 123456.78)
{{ValueDecimal:Decimal;0.0}}
=> 123456.8{{ValueDecimal:Decimal;0.00}}
=> 123456.78{{ValueDecimal:Decimal;#,##0.0}}
=> 123,456.8{{ValueDecimal:Decimal;#,##0.00}}
=> 123,456.78{{ValueDecimal:Decimal;0.##}}
=> 123456.78{{ValueDecimal:Decimal;00.00}}
=> 123456.78{{ValueDecimal:Decimal;0,0.00}}
=> 123,456.78{{ValueDecimal:Decimal;0%}}
=> 12345678%{{ValueDecimal:Decimal;0.0%}}
=> 12345678.0%
Datetime
(Input value: 12/05/2018 11:25:07 pm)
{{NamedRangeName:Datetime;yyyy}}
=> 2018{{NamedRangeName:Datetime;MM}}
=> 12{{NamedRangeName:Datetime;dd}}
=> 05{{NamedRangeName:Datetime;yyyy/MM/dd}}
=> 2018/12/05{{NamedRangeName:Datetime;MM/dd/yyyy}}
=> 12/05/2018{{NamedRangeName:Datetime;dd/MM/yyyy}}
=> 05/12/2018{{NamedRangeName:Datetime;HH}}
=> 23{{NamedRangeName:Datetime;mm}}
=> 25{{NamedRangeName:Datetime;ss}}
=> 07{{NamedRangeName:Datetime;tt}}
=> PM{{NamedRangeName:Datetime;HH:mm tt}}
=> 23:25 PM{{NamedRangeName:Datetime;HH:mm:ss tt}}
=> 23:25:07 PM
Text
{{NamedRangeName:Text;None}}
: None is an optional parameter{{NamedRangeName:Text}}
: Will work the same as above
While formats are Culture invariant when making a selection from the list, the values shown will be different for the current application Culture.
For example #,##0.0
format will be shown as in "Thousands Comma Delimiter, Decimal Period Delimiter" Culture, but it will be shown as # ##0,0
for the "Thousands Space Delimiter, Decimal Comma Delimiter" Culture setting. Once you make a selection, the value will be inserted in the contents will be the same for all Cultures.
Inserting Stubs Using the Stubs Button
Clicking the Stubs button on the top right of the content editor will open the Insert Stub menu where you can add document stubs with the help of a graphical user interface.
On the Insert Stub menu, you can select a named range, type, and format to automatically add the stub corresponding to your selections. If you want to use text format you can click Pull format from Excel checkbox.
After selecting the named range, type and format properties, or selecting the named range field and clicking Pull format from Excel checkbox press the Insert Stub button to insert the stub text into the content editor.
List and Table Named Ranges
These types of named ranges are entered in the same format as Single Named Ranges (SNR), except they do not support formatting of the output values. Using a List or Table Named Range within two sets of curly brackets will inject a full table into the content / label control.
This is best utilized when looking to test the values that exist within a named range, rather than for final presentation of a list or table named range. To present a readable and customizable format, utilize an Input or Output Grid control to display this type of data.
Visible
Indicates whether the content / label control is visible.
This can be configured as Always or Never to indicate whether the content / label is statically visible or not.
Alternatively, if any Boolean Single Named Ranges (SNR) exist (i.e. ranges pointing to a single cell that evaluates to TRUE or FALSE), then the visibility of the content / label can be configured to reflect the value of that named range using the 'By Value Of' setting.