Show/Hide Header
The visibility of Custom Fields can be controlled through values that are entered elsewhere on the page.
One Custom Field - the "control field" - is used to control the display of a set of Custom Fields based on a value entered or selected in the control field. The set of Custom Fields to be shown/hidden must be located under a Title Bar. All fields between the specified Title Bar and the subsequent Title Bar will have their visibility controlled as a group.
The control field can be any Custom Field that contains a value:
- Custom Field Type: Text – Single Line
- Custom Field Type: Text – Multiple Lines
- Custom Field Type: Select One – Combo Box
- Custom Field Type: Select Many – Check Boxes (Note: see below)
- Custom Field Type: Special – Calculated Value
- Custom Field Type: Lookup – Entity and People
- Custom Field Type: Lookup – External Entity
- Custom Field Type: Lookup – External People
Syntax
Place the following code in the HTML Tag box of the Control field:
- onchange="_showhideheader(xxxxxx,this.value=='Yes')"
Where:
- xxxxxx is the field ID of the Title Bar field that you wish to control.
- Yes is the value in the control field that you wish to use to trigger the display of Title Bar and the other Controlled fields in the block.
Note: Check Boxes use a different syntax. See below
Examples:
- Display the controlled fields when the control field (Custom Field ID 123456) is not equal to Yes:
onchange="_showhideheader(123456,this.value!='Yes')"
- Multiple Conditions the control field (Custom Field ID 123456) is either Yes or Maybe:
onchange="_showhideheader(123456,(this.value=='Yes' || this.value=='Maybe'))"
- Display the controlled fields when the control field (Custom Field ID 123456) is empty:
onchange="_showhideheader(123456,this.value==")
- Display the controlled fields when a numerical control field (Custom Field ID 123456) is greater than 6:
onchange="_showhideheader(123456, parseInt(this.value ) >6)"
Multiple Headers
Multiple headers can be hidden/shown simultaneously:
- onchange="_showhideheader(xxxxxx,this.value='A') ;_showhideheader(yyyyyy,this.value='B') "
This will display the fields under Title Bar xxxxxx when the control field has value A and display the fields under Title Bar yyyyyy when the control field has value B.
Check Boxes
When the Control field is a Select Many Check Box, you will need to use the onclick syntax.
- onclick="_showhideheadercheckbox(xxxxxxx,this,'Yes;Cancel')"
- Use onclick instead of onchange
- Use this instead of this.value
- 'Yes;Cancel' - values delimited by semi-colon
Notes
The difference between this feature and Dynamic Control Field is that:
- The set of fields that you wish to control can be located anywhere on the page. With Dynamic Control Fields the fields must be below the control field.
- Unlike the Dynamic Control Field, there are no fields "nested" within the control field.
- The fields hidden by one control can be used to as control fields themselves. Using nested Dynamic Control Fields (dynamic controls within dynamic controls) is not recommended, and you cannot report below the first level of nested fields.
See Also
Visibility of Custom Fields can also be controlled using: