ONLINE HELP
 WINDEVWEBDEV AND WINDEV MOBILE

Help / Editors / Report editor / Data sources
  • Overview
  • Characteristics the report based on a Table control
  • Creating a report based on a Table control from the window editor
  • Creating a report automatically and a button used to print the report
  • Characteristics of the new report based on a Table control
  • Creating a report based on a Table control from the report editor
  • Creating a report based on a Table control from the report editor
  • Printing a report based on a Table control
  • Printing a report based on a Table control
  • WINDEV example
  • WEBDEV example
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaReports and QueriesUser code (UMC)
WEBDEV
WindowsLinuxPHPWEBDEV - Browser code
WINDEV Mobile
AndroidAndroid Widget iPhone/iPadIOS WidgetApple WatchMac CatalystUniversal Windows 10 App
Others
Stored procedures
Report based on a Table control
Overview
A report based on a Table control is used to directly print the information displayed in the control (based on a data file or populated programmatically):
  • in a window or page of the application. This window or page must be displayed when printing the report.
  • in a window or in an internal page. The window (or the page) that displays the internal window (or the internal page) must be displayed.
Reports & Queries cannot be used to create reports on Table control. However, you have the ability to customize the reports on Table control created in the standard report editor (color, fonts, size, ...).
A report based on a Table control can print:
  • all rows displayed in the Table control (ability to filter the data found in the Table control with the magnifier).
  • the rows selected by the user (for the multi-selection Table controls where the rows are selected with the Ctrl key). This option is not available in WEBDEV.
Characteristics the report based on a Table control
If the report is based on a Table control:
  • Each row in the Table control corresponds to a record.
  • Each column of Table control corresponds to a Static control (even the invisible columns).
    WINDEV Remark: The columns that must not be printed ("Export and print" option in the "General" tab of the column description) are ignored.
For a table report, the order in which the columns are displayed in the report corresponds to the order of columns in the window being edited. In WINDEV, if the user modifies the order of columns in the window, the order in which the columns are displayed in the report will not be modified dynamically.
Caution: The data printed in the report is sorted according to the sort column defined for the Table control.
Report based on a Table control
A report based on a Table control can be created:
  • from the window editor. The created report corresponds to a table report.
  • from the report editor. The report creation wizards starts, allowing you to choose the type of report to create (table, form, etc.).
Once the report based on the Table control is created, you can:
  • change the data source of the report ("Data" tab in the report description).
  • add or delete Static controls linked to the Table control associated with the report.
Caution: The test of a report based on a Table control cannot be run from the report editor because the window or the page containing the Table control must be opened. To run the test of a report based on a Table control, you must:
  • create (if necessary) a button in the window or in the page of Table control. This button can be used to print the report with the data from the Table control (iPrintReport).
    Case of internal windows: If the Table control is found in an internal window, the button should be created in the internal window (and not in the host window).
  • test directly the window or page containing the Table control, then test the report (via the button).
    Case of internal windows: the test must be run from the window that is hosting the internal window.
Creating a report based on a Table control from the window editor
WINDEV The window editor allows you to automatically create a report based on a Table control and a button used to print the report. No programming is required.
Remark: The window editor can only be used to create a table report. To create another type of report, use the report editor.
WINDEV

Creating a report automatically and a button used to print the report

To automatically create a report and a button used to print the report:
  1. Open the window containing the Table control on which the report will be based.
  2. Select the Table control.
  3. On the "Creation" tab, in the "Data" group, expand "Table and List Box" and select "Report based on a Table control".
  4. The mouse cursor changes and the button shape appears under the cursor. Click in your window to create and position the button. This button is used print the report based on the Table control.
  5. A table report based on the selected Table control is automatically created in the report editor. For more details, see Characteristics of the new report.
  6. Confirm that the created report must be added into the current project.
  7. Save the created report and the window containing the Table control.
WINDEV

Characteristics of the new report based on a Table control

By default:
  • the created report is a Table report. For more details, see The different types of reports.
  • the created report is named "Report_<CaptionTableControl>".
  • the created report contains:
    • a table containing as many columns as the Table control.
      By default, the width of columns in this table corresponds to the width of columns in the Table control.
      If the table does not occupy the entire report width, the table columns are proportionally enlarged in order for the table to reach its maximum size.
      Caution: The columns that must not be printed ("Export and print" option in the "General" tab of the column description) are ignored.
    • a Static control displaying the caption of Table control.
    • four preset controls used to display today's date, the number of the current page, the total number of pages in the report and the total number of lines printed in the report.
  • the skin template of created report corresponds to the skin template of current project.
  • the report prints all rows found in the Table control.
All these characteristics can be modified in the report editor.
Creating a report based on a Table control from the report editor
The report editor allows you to create any type of report based on a Table control (table, form, etc.).
Once the report is created, the print must be programmed in WLanguage. For more details, see Printing a report based on a Table control.

Creating a report based on a Table control from the report editor

To create a report based on the Table control from the report editor:
  1. Click New in the quick access buttons.
    • The new element window appears: click "Report" then "Report".
    • The report creation wizard starts.
  2. Choose the layout of your report (table, form, label, ...). For more details, see The different types of reports.
  3. Select (if necessary) the report template to use. A report template is used to comply with a specific page layout. For more details on report templates, see Report templates.
  4. Select the data source of the report ("From a Table or Looper control").
  5. Select the Table control on which the report will be based. Only the Table and Looper controls in the windows or pages of the current project will appear.
  6. WINDEV To print:
    • all rows displayed in the Table control: select "All the rows found in the Table control".
    • the rows selected by the user: select "Only the rows selected in the Table control".
      Remark: This option can be modified programmatically with the SelectionOnly property.
  7. For each Table control column displayed in the report:
    • specify whether the column must be printed or not via the checkmark.
    • type the corresponding caption. This caption will be displayed:
      • before the control. For example:
        Caption before the control
      • in the column header (for the Table reports). For example:
        Caption in the columns

        This caption can be modified in the report editor.
    • select the block in which the control associated with the column of Table control will be printed. The positions of different controls can be modified in the report editor. For more details on the different blocks and their position in a report, see Report blocks.
  8. Modify (if necessary) the display order of controls in the report with the arrow buttons found on the right of table.
  9. If the Table control associated with the report contains at least one numeric item, calculations can be performed on these items. Specify the calculation performed for each item (sum, average, ...). Two types of calculations are available:
    • general calculation: a Calculated control will be created in the End of document block.
    • calculation on break: a Calculated control will be created in the Break footer block. In the calculations on break, the calculation result is reinitialized after each break. To perform a calculation on break, a break must be found in the report currently created.
  10. Depending on the type of report currently created, indicate the specific options.
    Type of reportSpecific options
    Report based on a formForm image, printing the form image, ...
    Options presented in detail in Report based on a form
    Label reportFormat of labels, number of identical copies, ...
    Options presented in detail in Label report
  11. Specify the format of sheet on which the report will be printed. The report is printed in A4 format by default.
    Remark: By default, the report controls are displayed in a single column. To create a multi-column report, simply specify the desired number of columns in the "Format" tab of the report description window.
  12. Select the skin template of the report if necessary.
  13. Type the name and title of the report (name of ".WDE" file corresponding to the report). This name will be used to identify the report in your programs.
    WINDEV You can also specify whether the report can be modified by the end user in "Reports & Queries".
  14. Validate the report creation.
  15. The report editor automatically proposes to change the report format if the following conditions are fulfilled:
    • the report currently created includes a table.
    • the report format does not allow to display all table columns.
  16. Specify (if necessary) the mode for reducing the report size:
    • Print the report on several pages. In this case, the end user will have to group the pages. For more details, see Multi-page print.
    • Use the landscape mode.
    • Reduce the report size. Caution: according to the reduction percentage, the printed report may become unreadable.
  17. The report currently created is displayed in the report editor.
Printing a report based on a Table control

Printing a report based on a Table control

A report based on a Table control must be printed from the window displaying the Table control to print. If the button was not created automatically, you must:
  1. Create a button in the window (or page) containing the Table control.
  2. Configure the report print destination:
    • WINDEV In WINDEV, with iDestination (report viewer, print in an HTML file, etc.).
    • WEBDEV - Server code In WEBDEV, with iDestination (print in an HTML file, etc.).
    For more details, see Print modes of a report.
  3. Specify the name of the report to print with iPrintReport.
Remarks:
  • If additional parameters must be passed to the report, these parameters must be specified in iPrintReport, after the name of the report to print. For more details, see Report with parameters.
  • WINDEV If the window that contains the source Table control is opened multiple times (modeless opening with OpenChild), the full name of the control to be printed must be passed as a parameter to the report. For example:
    // The FullName property will contain the name of the window
    // that must be opened with an alias
    // to distinguish between each window
    iPrintReport(RPT_Customer_Table, TABLE_Customer.FullName)

    // Opening code of the report:
    PROCEDURE RPT_Customer_Table(NameSourceTable)
    MyReport.SourceName = NameSourceTable
  • WINDEV The SelectionOnly property is used to get and change the records that will be printed in the report: print all records or the selected records only.
In Reports & Queries, you can print a report:
  • by starting a print job (Print icon).
  • by testing the report (Report Go).
Therefore, no programming is required to print the report.
WINDEV

WINDEV example

The information to print is in the Table control named "TABLE_CustomerTable" found in the "WIN_Customer" window.
The report to print is named "RPT_Customer" and it is printed during a click on the "BTN_Print" button.
In this example, the click code of "BTN_Print" button is as follows:
// Open report viewer
iDestination(iViewer)
// Print the report based on "TABLE_CustomerTable" control
iPrintReport(RPT_Customer)
WEBDEV - Server code

WEBDEV example

The information to print is in the Table control named "TABLE_CustomerTable" found in the "PAGE_Customer" page.
The report to print is named "RPT_Customer" and it is displayed in a PDF file during a click on the "BTN_Print" button.
In this example, the click code of "BTN_Print" button is as follows:
// Generates a unique file name
UniqueFileName is string = fWebDir() + "\" + "RPT_Customer_" + DateSys() + TimeSys() + ".pdf"
// Configures the print destination
iDestination(iPDF, UniqueFileName)
// Prints the report based on TABLE_CustomerTable control
iPrintReport(RPT_Customer)
// Displays the report in PDF format
FileDisplay(UniqueFileName, "application/pdf")
// Deletes the file
fDelete(UniqueFileName)
Minimum version required
  • Version 9
This page is also available for…
Comments
Click [Add] to post a comment

Last update: 06/30/2023

Send a report | Local help