This part introduces you to the many styles of reports available in InfoMaker and describes how to create and work with reports.

Table of Contents

Defining Reports
About reports
Choosing a presentation style
Using the Tabular style
Using the Freeform style
Using the Grid style
Using the Label style
Using the N-Up style
Using the Group style
Using the Composite style
Using the Graph and Crosstab styles
Using the OLE 2.0 style
Using the RichText style
Using the TreeView style
Building a report 
Selecting a data source
Using Quick Select
Selecting a table
Selecting columns
Specifying sorting criteria
Specifying selection criteria
Using SQL Select
Selecting tables and views
Selecting columns
Displaying the underlying SQL statement
Joining tables
Using retrieval arguments
Referencing retrieval arguments
Specifying selection, sorting, and grouping criteria
Using Query
Using External
Using Stored Procedure
Choosing report-wide options
Generating and saving a report 
About the extended attribute system tables and reports
Saving the report
Modifying an existing report
Defining queries
Previewing the query
Saving the query
Modifying a query
What's next
Enhancing Reports
Working in the Report painter 
Understanding the Report painter Design view
Using the Report painter toolbars
Using the Properties view in the Report painter
Selecting controls in the Report painter
Resizing bands in the Report painter Design view
Using zoom in the Report painter
Undoing changes in the Report painter
Using the Preview view of a report 
Retrieving data
Modifying data
Importing data into a report
Using print preview
Printing data
Working in a grid report
Saving data in an external file
Saving the data as PDF
Saving the data in HTML Table format
Working with PSR files
Modifying general report properties
Changing the report style
Setting colors in a report
Setting gradients and background pictures in a report
Setting transparency properties for a report
Specifying properties of a grid report
Specifying pointers for a report
Defining print specifications for a report
Modifying text in a report
Naming controls in a report
Using borders in a report
Specifying variable-height bands in a report
Modifying the data source of a report
Storing data in a report using the Data view
What happens at runtime
Retrieving data
Prompting for retrieval criteria in a report
Retrieving rows as needed
Saving retrieved rows to disk
Working with Controls in Reports
Adding controls to a report
Adding columns to a report
Adding text to a report
Adding drawing controls to a report
Adding a group box to a report
Adding pictures to a report
Adding computed fields to a report
Adding buttons to a report
Adding graphs to a report
Adding InkPicture controls to a report
Adding OLE controls to a report
Adding reports to a report
Adding table blob controls to a report
Adding tooltips to a DataWindow control
Reorganizing controls in a report 
Displaying boundaries for controls in a report
Using the grid and the ruler in a report
Deleting controls in a report
Moving controls in a report
Copying controls in a report
Resizing controls in a report
Aligning controls in a report
Equalizing the space between controls in a report
Equalizing the size of controls in a report
Sliding controls to remove blank space in a report
Positioning controls in a report
Rotating controls in a report
Displaying and Validating Data
About displaying and validating data
Presenting the data
Validating data
About display formats
Working with display formats
Working with display formats in the Database painter
Working with display formats in the Report painter and Form painter
Defining display formats
Number display formats
String display formats
Date display formats
Time display formats
About edit styles
Working with edit styles
Working with edit styles in the Database painter
Working with edit styles in the Form or Report painter
Defining edit styles
The Edit edit style
The DropDownListBox edit style
The CheckBox edit style
The RadioButtons edit style
The EditMask edit style
The DropDownDataWindow edit style
The RichText edit style
The InkEdit edit style
Defining a code table
How code tables are implemented
How code tables are processed
Validating user input
About validation rules
Understanding validation rules
Working with validation rules
Defining validation rules
Defining a validation rule in the Database painter
Defining a validation rule in the Form painter
How to maintain extended attributes
Filtering, Sorting, and Grouping Rows
Filtering rows
Sorting rows
Suppressing repeating values
Grouping rows
Using the Group presentation style
Defining groups in an existing report
Highlighting Information in Reports and Forms
Highlighting information
Modifying properties when designing
Modifying properties at runtime
Modifying properties conditionally at runtime
Example 1: creating a gray bar effect
Example 2: rotating controls
Example 3: highlighting rows of data
Example 4: changing the size and location of controls
Supplying property values
Font.Escapement (for rotating controls)
X1, X2
Y1, Y2
Specifying colors
Using Nested Reports
About nested reports
Creating a report using the Composite presentation style
Placing a nested report in another report
Placing a related nested report in another report
Placing an unrelated nested report in another report
Working with nested reports
Adjusting nested report width and height
Changing a nested report from one report to another
Modifying the definition of a nested report
Adding another nested report to a composite report
Supplying retrieval arguments to relate a nested report to its base report
Specifying criteria to relate a nested report to its base report
Using options for nested reports
Exporting and Importing XML Data
About XML
Valid and well-formed XML documents
XML syntax
XML parsing
XML support in the Report painter
The Export/Import Template view for XML
Creating templates
Saving templates
Header and Detail sections
Editing XML templates
XML declaration
Document type declaration
Root element
InfoMaker expressions
Composite and nested reports
CDATA sections
Processing instructions
Exporting to XML
Setting data export properties
Importing XML
Importing with a template
Default data import
Tracing import
Working with Graphs
About graphs
Parts of a graph
Types of graphs
Using graphs in reports
Placing a graph in a report
Using the graph's Properties view
Changing a graph's position and size
Associating data with a graph
Using the Graph presentation style
Defining a graph's properties
Using the General page in the graph's Properties view
Sorting data for series and categories
Specifying text properties for titles, labels, axes, and legends
Specifying overlap and spacing
Specifying axis properties
Specifying a pointer
Working with Crosstabs
About crosstabs
Two types of crosstabs
Creating crosstabs
Associating data with a crosstab
Specifying the information
Viewing the crosstab
Specifying more than one row or column
Previewing crosstabs
Enhancing crosstabs
Specifying basic properties
Modifying the data associated with the crosstab
Changing the names used for the columns and rows
Defining summary statistics
Cross-tabulating ranges of values
Creating static crosstabs
Using property conditional expressions
Working with TreeViews
TreeView presentation style
Creating a new TreeView report
TreeView creation process
Creating a TreeView report
Adding and deleting TreeView levels
Selecting a tree node and navigating the tree
Sorting rows in a TreeView report
TreeView report Design view
Setting properties for the TreeView report
Setting general TreeView properties
Setting TreeView level properties
Setting detail band properties
TreeView DataWindow examples
Data Explorer sample
Data Linker sample
Working with Rich Text
About rich text
Rich text editors
Using the RichText presentation style
Creating the report
Formatting for RichText objects within the report
Previewing and printing
Formatting keys and toolbars
Using OLE in a Report 
About using OLE in reports
OLE objects and the OLE presentation style
Adding an OLE object to a report 
Using the OLE presentation style
Defining the OLE object
Specifying data for the OLE object
Previewing the report
Activating and editing the OLE object
Changing the object in the control
Using OLE columns in a report 
Creating an OLE column