Technology Blogs by Members
Explore a vibrant mix of technical expertise, industry insights, and tech buzz in member blogs covering SAP products, technology, and events. Get in the mix!
Showing results for 
Search instead for 
Did you mean: 
Active Contributor
0 Kudos

I have been working on Crystal Reports .NET application but never knew the Object Model used by me for programming. The object models in the SDK not only expose the report objects but also manipulate them.  Learning about object models has helped me understand the significance of models. With this blog I would like to brief about the object models available with SDK.

CrystalReportViewer or ReportDocument are the two objects models which are normally being used for developing the application using Crystal Reports .NET SDK, with additional licensing, the SDK expands to contain four object models. With each object models complexity & its power to carry out the operations increases. Let us understand them one by one:

  • CrystalReportViewer:

  1. The simplest object model in the league.
  2. CrystalReportViewer class provides properties, methods, and events that modify or retrieve information about how the CrystalReportViewer control appears and functions.
  3. This class exists in two different forms: one in a Windows namespace and one in a Web namespace. Therefore, many elements of this object model are duplicated in both namespaces, with some variations to support the differences in the Windows (CrystalDecisions.Windows.Forms namespace) and Web (CrystalDecisions.Web namespace) platforms.

  • ReportDocument:  

  1. A more extensive object model than CrystalReportViewer
  2. ReportDocument class represents a report and contains properties and methods to define, format, load, export, and print the report.
  3. It is a part of the CrystalDecisions.CrystalReports.Engine namespace
  4. It can also be called as a gateway to classes present in Engine namespaces.

  • ReportClientDocument:  

  1. This is the most powerful object model for manipulating reports.
  2. Programmatically one can create, modify, and save changes to every aspect of the report at runtime.    
  3. It is made up of many classes across several namespaces. Each namespace is prefixed with CrystalDecisions.ReportAppServer.     
  4. This object model is available as a part of Report Application Server (RAS) ,which requires additional licensing is required, which is available either as an unmanaged Report Application Server (RAS), or as a managed Report Application Server (BOE).
  5. The ReportClientDocument object model is available with Crystal Reports 2008 & Crystal Reports for Visual Studio 2010, but allows us to access limited version of the same through ReportDocument.ReportClientDocument property.
  6. Note: A Report Application Server is available with Crystal Reports Server and BusinessObjects Enterprise.

  • InfoObject:

  1. This model has been designed for interacting with the enterprise level functions of Crystal Reports Server or BusinessObjects Enterprise.
  2. InfoObject class functions as a gateway to the full Enterprise object model of Crystal Reports Server or BusinessObjects Enterprise as it represent a wide variety of information entities report files or PDF files which are called as physical entities, and users, servers, or FTP connections also known as network entities.
  3. It is part of CrystalDecisions.Enterprise group of namespaces.
  4. Note: It is provided with the Crystal Reports Server or BusinessObjects Enterprise license.

Additional Resources:

Labels in this area