PPJ Manual
HomeCurrent IssuesDownloads
  • Welcome
  • Releases
    • PPJ 2023
  • PPJ 2023
  • PPJ Web API
  • PPJ Desktop API
  • Wisej.NET Documentation
  • General
    • Framework
      • Features
        • SAL and SQL Functions
        • Constants and Variables
        • SalContext
        • Visual Toolchest
        • XSal2
        • Reporting Support
        • LINQ Support
        • SalCompileAndEvaluate
        • Unicode Support
        • Startup Arguments
        • App.config
      • Data Types
        • Automatic Casts
        • Dynamic Arrays
      • Controls
        • ToolBar
        • TabControl
        • TableWindow
        • QuickObject
        • Ribbon Bar
        • NavigationBar
      • SQL Support
        • Configuration
        • ADO.NET Drivers
        • Bind and Into Variables
        • DBP Parameters
        • SqlContext
      • Extensions
        • Table Window
        • Unicode Support
        • Bug Fixes
        • Object Oriented Types
        • Custom Parsers
        • Named Properties
        • Microsoft Charts
        • Tabbed MDI
        • Watermark
        • HTML Rendering
      • Skins and Themes
        • Skin Files
        • Theme Files
        • Configuration
        • Skin Editor
        • Theme Builder
      • Tracing
        • Trace Viewer
        • Default Listeners
        • Tracing the Application
      • Spell Checker
        • Dictionaries
    • Ported Application
      • Project Structure
        • Late Bind Calls
        • Visual Styles
        • Unqualified References
        • Message Actions
        • When SQLError
        • Classes
      • Global Items
      • Forms
      • COM/ActiveX
      • Multiple Inheritance
      • Configuration Tool
      • Issues & Workarounds
    • Ported Reports
      • General
      • Crystal Reports
        • Structure
        • Unsupported Features
      • List & Label
        • Report Conversion
        • Structure
        • Document
        • Input Items
        • Passing Data
        • Unsupported Features
      • Reporting Services
        • Features
      • Stimulsoft
        • Break Groups
        • Fields
        • Formulas
        • Cache Mode
Powered by GitBook
On this page
  • Custom Implementations
  • Debugging

Was this helpful?

  1. General
  2. Ported Reports

General

Custom Implementations

All reporting functionality is executed through the default implementation of ISalReport interface, in PPJ.Runtime.Reports. It is possible to change the default implementation by assigning the static property Sal.SalReportType.

Example:

public static void Main()
{
 Sal.SalReportType = typeof(LLReport);
}

Having a single interface for reporting functionality, allows for custom implementation to be added in independent modules without changing the ported application.

Multiple reporting systems can also be mixed and used at the same time but changing the Sal.SalReportType property before calling report creation methods.

Details about the implementation of ISalReport interface are in the PPJ Framework Reference.

Debugging

With the PPJ framework you can retrieve the SalReport object from the window

handle return by SalReportPreview or the handle passed to SAM_ReportStart (wParam):

SalReport report = SalReport.FromHandle(e.WParam);

Then you can retrieve the code report object:

ReportDocument doc = (ReportDocument)report.ReportDocument; // <<- For CR
ListLabel ll = (ListLabel)report.ReportDocument; // <<- for LL

This allows you to manipulate the core engine directly.

PreviousPorted ReportsNextCrystal Reports

Last updated 2 years ago

Was this helpful?