Special fields are defined by JReport and allow you to easily obtain system information and report-related data and add it to your report. The special fields are as follows:
Date-time
Lists all the datetime type special fields.
Computed
Lists all the special fields that are computed based on the report.
Note: Page Number, Total Page Number and Page N of M in the following conditions in versions after V8 are different from those in versions prior to V7:
System
Lists all the special fields which get values from the system.
| Filter Condition | HDS (General) | HDS (XML) | UDS | SQL File | JSON | |
|---|---|---|---|---|---|---|
| User Name | Supported. | Supported in the Parameter box in the Add General Hierarchical Data Source dialog. | Supported. | Supported in the Parameter box in the Add User Defined Data Source dialog. | Supported in the SQL statement. | Supported in the Instance box in the Extract JSON Schema screen of the JSON Connection Wizard and the Value column of the HTTP headers and HTTP body in the RESTful Data Source Options dialog. |
| User Name used in a formula | Supported. | Supported. | Supported. | Supported. | Supported. | Supported. |
It should be used as username in formulas and stored procedures and as @username in UDS, imported SQL, JSON and filter conditions.
Some special fields can be used in formulas. They are User Name, Print Date, Print Time, Fetch Date, Fetch Time, Modified Date, Modified Time, Record Number, Page Number, Global Page Number, Total Records and Total Fetched Records. They can all be divided into two types (page level and constant level) according to the time when their values are ready.
Page level
The value of this special field is ready at the time when the report result is generated. A formula which references a page-level special field is treated as a page-level formula. In which, the formula is calculated more than once.
The special fields of this type are: Fetch Date, Fetch Time, Print Date, Print Time, Record Number, Page Number, Global Page Number, Total Records and Total Fetched Records.
Constant level
The value of this special field is ready at any time before the engine runs. A formula which references a constant-level special field is treated as a constant-level formula, and is calculated only once.
The special fields of this type are: User Name, Modified Date and Modified Time.
Special fields can be inserted in the report areas listed in Component placement.
To insert a special field into a report:
on the Insert toolbar and select the required special field from the drop-down list.When a special field has been inserted into a report, you can customize its appearance and behavior by setting properties in the Report Inspector, which can be saved as a CSS style for future use (for details, see Creating a CSS style).
The display type of a special field can be changed, that is to say, you can map the special field to another value or image to be displayed instead.
To change the display type a special field:
For details about display types, see Changing the display type of a label.
A special field can be bound with some web actions. This allows you to customize a special field to make it respond to some events, and execute corresponding actions, such as sorting and filtering.
To apply web actions to a special field:
that appears in the text box.
in the Display Type dialog to add more web behavior lines and specify the events and actions accordingly. If a web behavior is not required, click
to remove it.
or
. Then, when an event that has been bound with more than one action happens, the upper action will be triggered first.For more information about web actions, see Applying web actions to a label.
You can make a special field linked with another report, a location specified by a URL, an e-mail address, or a Blob data type field. The link can either be a simple link or a conditional link. With conditional link, different targets can be loaded based on different conditions.
To bind a link to a special field:
For details about different link targets, see Binding a link to a label.
You can add some conditional formats to a special field, then when a specified condition is fulfilled, the format bound with the condition will be applied to the field values automatically for distinguishing. However, conditional formatting applies only to the two special fields: Page Number and User Name.
To add conditional formats to the special field Page Number/User Name:
to add a condition.For more details about conditional formatting, see Adding conditional formats to a DBField.
See an example: The SampleComponents catalog, included with JReport Designer, contains reports that have examples of how each component type could be used in a report. For the special field example, open <install_root>\Demo\Reports\SampleComponents\ForSpecialFields.cls.