Option 1: use conditional suppression logic to hide / show redundant fields
Use the parameter field to control the suppression formulas for the desired fields.
If you want to eliminate spaces between fields, you will need to stack the fields one above the other and suppress them accordingly. In your example, column 2 will contain field2 and field3 (both suppressed), and column 3 will contain field2 and field3 (both suppressed). The suppression logic in your example will continue to suppress both fields in column 2, but will show field3 in column 2 (field2 in column 2 will still be suppressed).
Option 2: use the 'placeholder' formula field
Each data column that can be suppressed will be a formula field. Each formula field uses SELECT CASE logic to select the desired field to display. The hidden field will simply return a null value. The SELECT CASE logic will be written to ensure that the values ββare filled from left to right. Formatting should be done in the formula, and not in the formula field itself.
Option 3: Use the SDK to dynamically change the report.
Use the CR.Net SDK or the old CRAXDRT API to dynamically change the visibility and positioning of columns.
If you use this option, your deployment options will be more limited.
craig source share