### Report

The properties of a report object are:

Property Name | Description
--- | ---
General
Report Layout Type | Display the layout type of the report. This property is read only. Flow Report - A regular flow layout report. Banded Report - A restricted flow layout report, which is a layout intended for JReport Version 7 compatibility only.
Result Buffer
Result Buffer Size | Specifies the number of report results pages which will be stored in the buffer. Data type: Integer
Data
Automatic Cube Initialization | Specifies whether or not to enable the automatic cube conversion. true - If true, it is to convert the query based report to a report cube based report automatically when opening the report in JReport Web for analytic reporting purpose. If the converting fails due to error or incomplete conditions, no warning message will be shown on UI but the information will be recorded into the log file. false - If false, the conversion of query to report cube will not be performed automatically when opening the report in JReport Web. Instead, when you are to perform analytic reporting actions such as drilling on the report, a dialog will be displayed prompting you to do the conversion. Data type: Boolean
Others
After Init Parameter | This property is for exit function usage. You can specify an external application file (Java class file) which develops an action. The action will be called after you enter parameters in the pop-up parameter dialog when running the report. Data type: String
After Run | This property is for exit function usage. You can specify an external application file (Java class file) which develops an action. The action will be called immediately after JReport Engine has finished running the report result. Data type: String
Applet Height | Specifies the applet height for running an exported applet in a web browser. Data type: Float
Applet Width | Specifies the applet width for running an exported applet in a web browser. Data type: Float
Before Run | This property is for exit function usage. You can specify an external application file (Java class file) which develops an action. The action will be called at the point JReport Engine is about to run the report. Data type: String
Embedded Fonts | Specifies the True Type Fonts that have been used in the report so as to embed them if you want to export the report results to a PDF file. You can select multiple fonts by pressing the Ctrl or Shift key. For more information, refer to Delivering the result in PDF. Data type: String
Import JavaScript | Specifies the name of a JavaScript file you develop to apply customized functions in DHTML, for example, user1.js. Your JavaScript file should be located in `<server_install_root>\public_html\javascript\dhtml`. Data type: String
National Language Support | Specifies whether to enable the NLS function in the report. Data type: Boolean
No Temp File | Specifies whether or not to create temporary files. true - Not to create temporary files. Gains faster engine performance. false - To create temporary files. Gains better accuracy in calculating data. Data type: Boolean
Page Background | Specifies the background color of the report page. Choose a color from the drop-down list, or enter a hexadecimal RGB value (0xCCAA00). Data type: String
Precision Sensitive | Specifies whether to enable specified precision settings in the report results when exporting the report to different formats. Data type: Boolean
Show Subreport Header Footer | Specifies whether or not to show the page header and footer panels of subreports in the report. true - The page header and page footer panels of subreports in the report will be displayed when the panels are set to be visible in the subreports. false - The page header and page footer panels of subreports in the report will not be displayed. Data type: Boolean
Style Group | Specifies the style group for the report. If the report is to be used as a subreport, choosing any style group from the drop-down list to turn on the style group feature for the report and it will inherit the styles of the main report; choosing None or leaving this property empty to turn off the style group feature for the report and it will not inherit styles from the main report. Data type: String
Excel
Column Width List | Specifies the width of columns beginning from the first column for the exported Excel sheet. The Columned property at the report level must be set to true for this property to take effect. Use semicolon (;) to separate each width, for example: 12;8;15;10;9 The example specifies the width of the first 5 columns. For the other columns, they take the default width of Microsoft Excel sheet. 8 indicates the default column width in Microsoft Excel sheet. It can be omitted. The above example can also be written as 12;;15;10;9 Data type: String
Columned | If true, the engine performance will be improved when exporting the report to CSV or Excel format. Only after the Columned property is set to true, it is meaningful to specify values to the following Excel properties of objects in the report, otherwise the specified values for these Excel properties cannot take effect. Column Index/Row Index Column Number/Row Number. The properties are for chart platforms, images and UDOs. Top Attach Column/Top Attach Row/Bottom Attach Column/Bottom Attach Row. The properties are for drawing objects. Data type: Boolean
Excel Buffer Size | Specifies the number of report results sheets which will be stored in the buffer when exporting the report to Excel. Data type: Integer
Fast Pass | If true, the engine performance will be improved when running the report to CSV format in multiple threads on JReport Enterprise Server. To make fast pass work, the property Columned should be true. Data type: Boolean
Rows per Sheet | Specifies the maximum number of rows for every worksheet when exporting the report to Excel. The value ranges from 0 to 32000. Any value out of the range will be considered as 32000. Data type: Integer
Style Group for Exporting
DHTML Style Group | Pre-sets a style group for use when exporting the report to DHTML. If you do not specify a value here, the Style Group property value will be applied. Data type: String
Excel Style Group | Pre-sets a style group for use when exporting the report to Excel. If you do not specify a value here, the Style Group property value will be applied. Data type: String
Fax Style Group | Pre-sets a style group for use when exporting the report to Fax. If you do not specify a value here, the Style Group property value will be applied. Data type: String
HTML Style Group | Pre-sets a style group for use when exporting the report to HTML. If you do not specify a value here, the Style Group property value will be applied. Data type: String
PDF Style Group | Pre-sets a style group for use when exporting the report to PDF. If you do not specify a value here, the Style Group property value will be applied. Data type: String
PS Style Group | Pre-sets a style group for use when exporting the report to PostScript. If you do not specify a value here, the Style Group property value will be applied. Data type: String
RST Style Group | Pre-sets a style group for use when exporting the report to JReport Result or Applet. If you do not specify a value here, the Style Group property value will be applied. Data type: String
RTF Style Group | Pre-sets a style group for use when exporting the report to RTF. If you do not specify a value here, the Style Group property value will be applied. Data type: String
Text Style Group | Pre-sets a style group for use when exporting the report to Text. If you do not specify a value here, the Style Group property value will be applied. Data type: String
XML Style Group | Pre-sets a style group for use when exporting the report to XML. If you do not specify a value here, the Style Group property value will be applied. Data type: String

#### Result buffer

The result buffer is used to store the report results of one report in pages. Its default size 4 indicates 4 pages of a report results have been allocated to the result buffer. The other pages will be stored on disk. If you have enough memory, you can increase the result buffer size to store more pages of the report result. By doing this, you will achieve better performance.

#### Applet setting

Reports are developed in JReport Designer and saved as .cls file. Report files and their associated resource files (.cat and .fml files) are published to JReport Enterprise Server for running reports in client/server mode. Once the report repository is properly set up, it can be accessed with any web browser, JReport Viewer or Client Viewer Bean. Also, you can choose to export the report results to a printer, a PDF or TXT file, etc.

If the report results have been specified to be transferred and viewed in the applet format, you can change the display area by inputting the correct number in the Report Inspector. Alternatively, you can edit the applet file directly in a text editor.

- Applet Height: Refers to the height of an applet.
- Applet Width: Refers to the width of an applet.

See also Exporting to Applet for more information about this format.

#### Setup callback or exit functions

During the running of a report, the display of the report is done by JReport Engine. You have no control over this. However, JReport functionality allows you to interact with this mechanism at 3 points:

- After the parameter has been initiated.
- At the point JReport Engine is about to run the report. If you have parameters, the parameter at this stage will have been initiated, and you have given the parameter value.
- Immediately after JReport Engine has run the report result.

At any or all of these three points you have the option of executing a class of your choice. JReport has developed three exit functions for you: After Init Parameter, Before Run and After Run. These functions enable you to develop an action to be called before, after or during the process of running a report. Your applications will return true or false. For true, JReport Engine will go on running. For false, JReport Engine will stop at this point.

#### Import JavaScript

If you want to develop functions in your own JS file, you can use this property to support the control objects in DHTML. Your own JS file should be located in `<server_install_root>\public_html\javascript\dhtml`, and it will work together with the API.js file in the same folder, but with a higher priority if both of them contain the same functions.

To use this property, simply set the property value to the name of your JS file.

For example, you have a JavaScript file named "user1.js" which contains the following function:

    function promptMassage(message)
      {
      alert(message);
      }
    window.promptMassage("test")

In this example, set the property to "user1.js" in order to apply functions defined in the file.

#### Precision Sensitive

High/low precision

When exporting a report to various formats, the text of some formats will be exported with higher precision, such as PDF, RTF, Excel, Fax, PS and when printing a report. Thus the report results layouts of these formats are different from the other formats, such as HTML, DHTML, Applet, XML, and Text. We distinguish the two types of layouts as PDF view and HTML view.

JReport provides two precision levels: high and low. High precision means that the report layout will be in the PDF view (the report layout looks like the PDF file). Low precision indicates that the report layout is in the HTML view (the report layout looks like the HMTL file).

High precision provides better layout but slower efficiency while low precision brings higher performance but maybe poorer visual effect. If low precision can make the report a well look, it is reasonable to apply low precision for at the same time faster performance is guaranteed.

About the property

Precision may result in text cut issue in report layout. This property decides whether the report can be applied to specified precision settings.

JReport has better performance when precision insensitive than when sensitive for it is unnecessary for the engine to run a report again since precision does not changes.

When the property is set to true, specified precision settings can be applied to the report when exporting it to different formats. In JReport Designer, report designer can specify precision level for different export formats using the Advanced Export Settings dialog. In JReport Enterprise Server, administrators can go to JReport Administration Page > Configuration > Export > Layout Precision to specify precision settings.

If you do not care visual effect of the report, leave the value of the property to be false as default and let JReport deal with the precision.

When the property is set to false, any specified precision setting for exporting formats does not work in the report. Instead the contextual precision level is applied when viewing/running/exporting the report. The context precision depends on the precision level applied when viewing/running/exporting the report last time. That is to say, the current runtime uses the precision setting applied in last runtime. When it is the first time to view/run/export the report in a format, there are default initial precision settings available for adoption since there is no context for the first runtime. The following table lists the default initial precision settings for different formats:

Format | Default Initial Precision
--- | ---
PDF | High
HTML | Low
RTF | High
Excel | High
Fax | High
PostScript | High
Print to Printer | High
JReport Result (Applet) | Low
XML | Low
Text | Low
RSD | Low
RST | Low

#### Excel Buffer Size

The Excel buffer is used to store the report results in Excel buffer sheets when exporting the result in Excel format. Its default size is 1, which indicates 1 sheet of the report results is allocated to the result buffer. The other sheets will be stored on disk. If you have enough memory, you can increase the Excel buffer size to store more sheets of the Excel-format report result. By doing this, you will achieve better performance.

#### Columned

Right after you set the property to true from false each time:

- Recalculate the values of the following Excel properties of all objects in the report and reset the values to the defaults.
  - Column Index/Row Index
  - Column Number/Row Number. The properties are for images and UDOs.
  - Top Attach Column/Top Attach Row/Bottom Attach Column/Bottom Attach Row. The properties are for drawing objects.

  The default values are calculated based on the position of each object in the report. There is an exception: if both the Export to Excel and Export to CSV properties of an object are false, the values of these properties will not be recalculated and will be preserved as before.

The property controls two things when it is true:

- Use the columned method to export the report to Excel when the option Normal Formatting in the Export to Excel dialog is checked.

- You can specify values for the Excel properties mentioned above of an object instead of using the default.

When the property is false:

- The specified values for the above Excel properties of objects in the report are not applied when exporting to CSV or Excel.

#### Style Group for Exporting

Pre-set a style group to the report for each export format. The style group specified for export formats has higher priority than that specified for the Style Group property in the Report Inspector. However, if you do not specify a style group for an export format, when you export the report to the format it will take the value specified for the Style Group property.

The specified style group here is applied in the following cases: when export the report in JReport Designer or in JReport Web, and when run/advanced run the report or schedule to publish it to version/disk/e-mail/FTP in JReport Enterprise Server.

When viewing a report by clicking the View tab next to the Design tab in JReport Designer, the value specified for the Style Group property is applied. In the view mode, if you further preview the view result in different formats or export it to different formats, the preview/export result will take the style group of the view result, and the Style Group for Exporting property will not take effect.