QR GET INFO COLUMN
QR GET INFO COLUMN ( area ; colNum ; title ; object ; hide ; size ; repeatedValue ; displayFormat {; resultVar} )
Parameter | Type | Description | |
---|---|---|---|
area | Integer | → | Reference of the area |
colNum | Integer | → | Column number |
title | Text | ← | Column title |
object | Text | ← | Object assigned for that column |
hide | Integer | ← | 0 = displayed, 1 = hidden |
size | Integer | ← | Column size |
repeatedValue | Integer | ← | 0 = not repeated, 1 = repeated |
displayFormat | Text | ← | Display format for the data |
resultVar | Text | ← | Name of the formula variable |
This command is not thread-safe, it cannot be used in preemptive code.
Description
List mode
The QR GET INFO COLUMN command retrieves the parameters of an existing column.
area is the reference of the Quick Report area.
colNum is the number of the column to modify.
title returns the title that will be displayed in the header of the column.
object returns the field name or the formula assigned to the column.
Note: The command does not take into account any virtual structure defined by means of the SET TABLE TITLES and SET FIELD TITLES commands. The actual name of the field is returned in the object parameter.
hide returns whether the column is displayed or hidden:
- if hide equals 1, the column is hidden;
- if hide equals 0, the column is displayed.
size returns the size of the column in pixels. If the value returned is negative, the size of the column is automatic.
repeatedValue returns the status for data repetition. For example, if the value for a field or variable does not change from one record to the other, it may or may not be repeated when they do not change:
- if repeatedValue equals 0, values are not repeated,
- if repeatedValue equals 1, values are repeated.
format returns the display format. Display formats are the 4D formats compatible with the data displayed.
When passed, the optional resultVar parameter returns the name of the variable automatically assigned by the Quick Report editor to the formula column (if any): "C1" for the first formula column, "C2" for the second, and so on. 4D uses this variable to store the results from the last execution of the column's formula when generating the report.
Cross-table mode
The QR GET INFO COLUMN command retrieves the same parameters but the reference of the areas to which it applies is different and varies depending on the parameter you want to set. First of all, the title, hide, and repeatedValue parameters are meaningless when this command is used in cross-table mode. The value to use for colNum varies depending on whether you want to retrieve the column size or the data source and display format.
- Column size
This is a “visual” attribute, therefore columns are numbered from left to right, as depicted below:
The following statement sets the size to automatic for all the columns in a cross-table report and leaves other elements unchanged:
For($i;1;3)
QR GET INFO COLUMN(qr_area;$i;$title;$obj;$hide;$size;$rep;$format)
QR SET INFO COLUMN(qr_area;$i;$title;$obj;$hide;0;$rep;$format)
End for
You will notice that since you want to alter only the column size, you have to use QR GET INFO COLUMN to retrieve the column properties and pass them to QR SET INFO COLUMN to leave it unchanged, except for the column size.
- Data source (object) and display format
In this case, the numbering of columns operates as depicted below:
If you pass an invalid area number, the error -9850 will be generated.
If you pass an invalid ColNum value, the error -9852 will be generated.
Example
You have designed the following report:
You can write:
var $vTitle;$vObject;$vDisplayFormat;$vResultVar : Text
var $area;$vHide;$vSize;$vRepeatedValue : Integer
QR GET INFO COLUMN($area;3;$vTitle;$vObject;$vHide;$vSize;$vRepeatedValue;$vDisplayFormat;$vResultVar)
//$vTitle = "Age"
//$vObject = "[People]Birthdate-Current date"
//$vHide = 0
//$vSize = 57
//$vRepeatedValue = 1
//$vDisplayFormat = ""
//$vResultVar = "C1"