ActiveReports 13
Breaking Changes
ActiveReports 13 > ActiveReports User Guide > Upgrading Reports > Breaking Changes

Breaking changes from ActiveReports 12 to ActiveReports 13

  1. Following is the list of changes in public classes and namespaces location:
    Class/Namespace ActiveReports 12 ActiveReports 13 Impact
    ResourceLocator, DefaultResourceLocator GrapeCity.ActiveReports.Extensibility.v12 GrapeCity.ActiveReports.Core.Rdl On creating own resource locator
    GrapeCity.ActiveReports.PageReportModel.* GrapeCity.ActiveReports.v12 GrapeCity.ActiveReports.Core.Rdl On creating reports dynamically
    GrapeCity.ActiveReports.Rendering.IO.* GrapeCity.ActiveReports.v12 GrapeCity.ActiveReports.Core.Rendering On rendering to any rendering extension
    GrapeCity.ActiveReports.Extensibility.Rendering.Components.* GrapeCity.ActiveReports.Extensibility.v12 GrapeCity.ActiveReports.Core.Rendering On creating own rendering extensions or custom report items
    GrapeCity.ActiveReports.Extensibility.Data.* GrapeCity.ActiveReports.Extensibility.v12 - On using own data providers
    GrapeCity.ActiveReports.Dashboard.* GrapeCity.ActiveReports.Dashboard.v12 GrapeCity.ActiveReports.Core.Rendering -
    GrapeCity.ActiveReports.Calendar.* GrapeCity.ActiveReports.Calendar.v12 Calendar is moved to samples -
    GrapeCity.ActiveReports.Extensibility.Rendering.IRenderingExtension GrapeCity.ActiveReports.Extensibility.v12 GrapeCity.ActiveReports On creating own rendering extensions
    GrapeCity.ActiveReports.ReportData.DataProviders.* GrapeCity.ActiveReports.v12 GrapeCity.ActiveReports.Core.DataProviders On using CSV, JSON, Object, Xml, DataSet data providers
    GrapeCity.ActiveReports.ArsClient.* GrapeCity.ActiveReports.ArsClient.v12 removed -
    GrapeCity.ActiveReports.OracleClient.* GrapeCity.ActiveReports.OracleClient.v12 GrapeCity.ActiveReports.Core.DataProviders -

  2. The following assemblies have been removed:
    • GrapeCity.ActiveReports.ArsClient
    • GrapeCity.ActiveReports.Calendar
    • GrapeCity.ActiveReports.Dashboard
    • GrapeCity.ActiveReports.Export.Document
    • GrapeCity.ActiveReports.Export.Image.Unsafe
    • GrapeCity.ActiveReports.Export.Xaml
    • GrapeCity.ActiveReports.Extensibility
  3. Following ActiveReports Core assemblies have been added:
    • GrapeCity.ActiveReports.Core.DataProviders
    • GrapeCity.ActiveReports.Core.Drawing.Gdi
    • GrapeCity.ActiveReports.Core.Rdl
    • GrapeCity.ActiveReports.Core.Rendering
    • GrapeCity.ActiveReports.Core.Export.Text.Page
    • GrapeCity.ActiveReports.Core.Export.Excel.Page
    • GrapeCity.ActiveReports.Core.Export.Html.Page
  4. Assembly GrapeCity.ActiveReports.Diagnostics is renamed to GrapeCity.ActiveReports.Core.Diagnostics.
  5. Following assemblies are added that have back-ends for JsViewer and Web Designer components:
    • GrapeCity.ActiveReports.Aspnetcore.Viewer.dll
    • GrapeCity.ActiveReports.Aspnet.Viewer.dll
    • GrapeCity.ActiveReports.Aspnetcore.Designer.dl
    • GrapeCity.ActiveReports.Aspnet.Designer.dll

  6. Flash and Silverlight viewers are now obsolete.

  7. HTML5 Viewer is deprecated and will be obsolete in the future version.

  8. Custom Data Providers have been modified as:
    • Removed extra classes and interfaces - DbCommand, DbConnection and others have been removed to reuse standard System.Data.* classes. Now implement System.Data.DataProviderFactory, System.Data.DbCommand, System.Data.DbConnection, System.Data.DbDataReader OR download any third-party implementation of those standard interfaces.  
    • Simplified using custom data providers -  The customer may just configure ActiveReports to start using of any ADO component.
      Note: Multivalue parameters, Credentials, and UI editor are available only if customer implements special adapter.
      To support setting of credentials and multivalue parameters, implement GrapeCity.ActiveReports.ReportData.DataProviders.DbConnectionAdapter.
    • Created data provider should be configured using ActiveReports.config - Specify name and data provider factory type. You may specify custom editor, adapter type (AdapterType attribute) and schema provider type (SchemaProviderType attribute).

  9. LocateDataSourceEventArgs class which obtains data for LocateDataSource event has undergone following changes.
    • Following properties have been removed:
      • DataSetName:string
      • DataSourceName:string
      • Report:PageDocument
    • Following properties have been added:
      • DataSet:IDataSet
      • Report:ReportObjectModel.Report
      • Parameters:IReadonlyList<DataParameter>
    ActiveReports 12 approach ActiveReports 13 approach

    class LocateDataSourceEventArgs{

    public object Data {get;set;}

    public string DataSetName {get;}

    public string DataSourceName {get;}

    public PageDocument Report {get;}

    }

    class LocateDataSourceEventArgs{

    public object Data {get;set;}

    public IDataSet DataSet {get;}

    public Report Report {get;}

    public IReadonlyList<DataParameter> Parameters {get;}

    }

    Note: The ActiveReports 13 parameters are Query parameters, so if you want to obtain Subreport parameters (available in PageDocument in ActiveReports 12), you should map them to Query parameters first.
  10. Custom Report Items have been modified as:
    • Most of the extra methods of ICustomReportItem interface (required for Flash) were dropped.
    • Now CRIs should implement IReportItemRenderersFactory interface.

  11. HTML RE ILinkProvider
    Cleaned ILinkProvider interface with few new properties.

  12. HTML RE
    HTML RE does not inherit IDisposable since state is moved to ReportService.asmx. In previous version, HTMLRE inherits IDisposable because it keeps huge state (for WebViewer puposes).

Breaking changes from ActiveReports 11 to ActiveReports 12

Breaking changes from Previous ActiveReports versions to ActiveReports 12

When you upgrade reports from previous versions of ActiveReports or Data Dynamics Reports, there are several breaking changes. In ActiveReports 12, data engine has been revamped to improve the data manipulation tasks such as sorting, filtering, and grouping.

Control Changes

The Excel Transformation Device option, the File menu item Microsoft Excel WorkSheet - Data (XLS), is no longer available for RDL reports in the default export dialogs of the viewer and designer applications shipped with the product. For backward compatibility, the Excel Transformation Device API is still available, but it does not support the new Tablix control. In order to successfully export reports using the new Tablix control, please use the Excel Rendering Extension option, the File menu item Microsoft Excel WorkSheet - Layout (XLS, XLSX).

The Matrix data region has been replaced in the toolbox with the new Tablix data region. However, it is still available in the API for backward compatibility.

The OleObject control is now hidden by default in the toolbox for Section reports. To show this control in Visual Studio, open the GrapeCity.ActiveReports.config file and change the EnableOleObject value to true, and include this file with your application. You can find this file here: C:\Program Files (x86)\Common Files\GrapeCity\ActiveReports 12.

To show the OleObject control in the Designer control in your own end users designer applications, select the Designer control and, in the Properties window, change the EnableOleObject property to True.

The WebViewer control is now AJAX-based, and requires ActiveReports.ReportService.asmx to be in the root of the Web site or Web application. This is added automatically when you drop a WebViewer control on a Web form, or you can add it from the Add New Item dialog by selecting ActiveReports 12 Web Service, or manually by copying it from C:\Program Files (x86)\Common Files\GrapeCity\ActiveReports 12. ExceptionOccurring, QueuingReport, ReportCreating and ReportDisposing events are no longer available in WebViewer class.

The Viewer control no longer has Annotations turned on by default. To enable Annotations, set the AnnotationDropDownVisible property of the Viewer control to TrueDataDynamics.ActiveReports.Viewer.ReportViewer.MultiplePageMode property is now integrated into ViewType property of Viewer class. Viewer.ReportViewer.PaperColor property has been removed. Viewer.PageOffset property's type has been changed from Integer to System.Drawing.Point.

The Toolbar is now a Windows ToolStrip. Please see the MSDN ToolStrip Class for more information.

In RDL and Page reports, the default behavior of the Series Border Style setting for Area, Pie and Doughnut chart types has been changed. Now, the default value of this setting is None, thus no style formatting is applied.

Other Changes

Rendering Extensions (Image): ColorDepth is an obsolete property of GrapeCity.ActiveReports.Export.Image.Page.Settings class.
 
Expressions: In Page report and RDL report expressions, "True" and "False" values are now handled as String, and not as Boolean values.
For example, =IIF(Fields!FieldName.Value = "True", 1, 0) is now an invalid expression when FieldName.Value returns a Boolean value, instead, use  =IIF(Fields!FieldName.Value = True, 1, 0) expression.

Classes in Different Namespaces

In ActiveReports 12, some classes have been moved to different namespaces from previous versions of ActiveReports and Data Dynamics Reports. Drop down the table below to see some of the most commonly used classes that are in new namespaces.

Namespace Changes and Restructuring

Some of the changes that are not picked up by the upgrade tool may cause some issues in your code. The two most frequently encountered changes are:

These are all of the assemblies and namespaces that have changed, with any major changes noted.

ActiveReports is now GrapeCity.ActiveReports.v12

  • ActiveReport class is now called SectionReport.
  • BarWidth property is now called NarrowBarWidth.
ActiveReports Namespace (previous versions) ActiveReports 12 Namespace
DataDynamics.ActiveReports
  • GrapeCity.ActiveReports
  • GrapeCity.ActiveReports.SectionReportModel
  • GrapeCity.ActiveReports.Data
DataDynamics.ActiveReports.DataSources GrapeCity.ActiveReports.Data
DataDynamics.ActiveReports.Interop GrapeCity.ActiveReports
DataDynamics.ActiveReports.Options GrapeCity.ActiveReports.SectionReportModel

ActiveReports.Chart is now GrapeCity.ActiveReports.Chart.v12

ActiveReports Namespace (previous versions) ActiveReports 12 Namespace
DataDynamics.ActiveReports.Chart GrapeCity.ActiveReports.Chart
DataDynamics.ActiveReports.Chart.Annotations GrapeCity.ActiveReports.Chart.Annotations
DataDynamics.ActiveReports.Chart.Graphics GrapeCity.ActiveReports.Chart.Graphics

ActiveReports.Design is now GrapeCity.ActiveReports.Design.Win.v12

The Report property is now an Object that gets or sets a GrapeCity.ActiveReports.Document.SectionDocument or GrapeCity.ActiveReports.Document.PageDocument.

The ColorTheme property of the Designer class is deprecated.

ActiveReports Namespace (previous versions) ActiveReports 12 Namespace
DataDynamics.ActiveReports.Design GrapeCity.ActiveReports.Design
DataDynamics.ActiveReports.Design.ReportExplorer GrapeCity.ActiveReports.ReportExplorer
DataDynamics.ActiveReports.Design.Toolbox GrapeCity.ActiveReports.Design.Toolbox

ActiveReports.Document is now GrapeCity.ActiveReports.Document.v12

The Document class is now called SectionDocument.

ActiveReports Namespace (previous versions) ActiveReports 12 Namespace
DataDynamics.ActiveReports GrapeCity.ActiveReports
DataDynamics.ActiveReports.Document
  • GrapeCity.ActiveReports.Document
  • GrapeCity.ActiveReports.Document.Section
  • GrapeCity.ActiveReports.Extensibility.Printing(GrapeCity.ActiveReports.Extensibility.v12)
DataDynamics.ActiveReports.Export GrapeCity.ActiveReports.Export
DataDynamics.ActiveReports.Export.Html GrapeCity.ActiveReports.Export.Html
DataDynamics.ActiveReports.Document.Annotations GrapeCity.ActiveReports.Document.Section.Annotations

ActiveReports.HtmlExport is now GrapeCity.ActiveReports.Export.Html.v12

ActiveReports Namespace (previous versions) ActiveReports 12 Namespace
DataDynamics.ActiveReports.Export.Html GrapeCity.ActiveReports.Export.Html.Section

ActiveReports.PdfExport is now GrapeCity.ActiveReports.Export.Pdf.v12

ActiveReports Namespace (previous versions) ActiveReports 12 Namespace
DataDynamics.ActiveReports.Export.Pdf GrapeCity.ActiveReports.Export.Pdf.Section
DataDynamics.ActiveReports.Export.Pdf.Signing GrapeCity.ActiveReports.Export.Pdf.Section.Signing

ActiveReports.RtfExport is now GrapeCity.ActiveReports.Export.Word.v12

ActiveReports Namespace (previous versions) ActiveReports 12 Namespace
DataDynamics.ActiveReports.Export.Rtf GrapeCity.ActiveReports.Export.Word.Section

ActiveReports.Silverlight is now GrapeCity.ActiveReports.Viewer.Silverlight.v12

ActiveReports Namespace (previous versions) ActiveReports 12 Namespace
DataDynamics.ActiveReports GrapeCity.ActiveReports

ActiveReports.TextExport is now GrapeCity.ActiveReports.Export.Xml.v12

ActiveReports Namespace (previous versions) ActiveReports 12 Namespace
DataDynamics.ActiveReports.Export.Text GrapeCity.ActiveReports.Export.Xml.Section

ActiveReports.TiffExport is now GrapeCity.ActiveReports.Export.Image.v12

ActiveReports Namespace (previous versions) ActiveReports 12 Namespace
DataDynamics.ActiveReportsExport.Tiff GrapeCity.ActiveReports.Export.Image.Tiff.Section

ActiveReports.Viewer is now GrapeCity.ActiveReports.Viewer.Win.v12

  • The History class is now an interface, IHistoryApi, that resides in the GrapeCity.Viewer.Common namespace.
  • The SearchResultsForeColor property now gets applied as the border around the searched text.
  • The DisplayUnits and RulerVisible properties of the Viewer class have been removed as the Viewer no longer uses a ruler.
  • The TabTitleLength property of the Viewer class is not available as the tab function of the Viewer has been removed.
  • The ViewerToolbar.DisplayToolTips property of the Viewer.ViewerToolbar class is now ViewerToolbar.ToolStrip.ShowItemToolTips.
  • The ViewerToolbar.Enabled property of the Viewer.ViewerToolbar class is now ViewerToolbar.ToolStrip.Enabled.
  • The ViewerToolbar.Visible property of the Viewer.ViewerToolbar class is now ViewerToolbar.ToolStrip.Visible.
  • The TargetView enumeration now has two enumeration values (Primary and Secondary). 
  • The ToggleVisibility() method is now Visible property that determines whether sidebar is visible or hidden.
  • The Print method is implemented as an extension method of the PrintExtension.Print method, which is present in Grapecity.ActiveReport namespace of GrapeCity.ActiveReports.Viewer.Win.v12 assembly.
ActiveReports Namespace (previous versions) ActiveReports 12 Namespace
DataDynamics.ActiveReports.Toolbar The viewer now uses Visual Studio ToolStrips. Please see MSDN ToolStrip Class for more information.
DataDynamics.ActiveReports.Viewer
  • GrapeCity.ActiveReports.Viewer.Win
  • GrapeCity.Viewer.Common
Note: GrapeCity.ActiveReports.Viewer.Win.v12.dll does not get added automatically to the project references when the report layout is added. You need to either add the Viewer control or manually add the reference to this assembly.

ActiveReports.Web is now GrapeCity.ActiveReports.Web.v12

The Report property is now an Object that gets or sets a SectionDocument or ReportDocument.

ActiveReports Namespace (previous versions) ActiveReports 12 Namespace
DataDynamics.ActiveReports.Web GrapeCity.ActiveReports.Web
DataDynamics.ActiveReports.Web.Controls GrapeCity.ActiveReports.Web.Controls
DataDynamics.ActiveReports.Web.ExportOptions GrapeCity.ActiveReports.Web.ExportOptions
DataDynamics.ActiveReports.Web.Handlers GrapeCity.ActiveReports.Web.Handlers

ActiveReports.XlsExport is now GrapeCity.ActiveReports.Export.Excel.v12

ActiveReports Namespace (previous versions) ActiveReports 12 Namespace
DataDynamics.ActiveReports.Export.Xls GrapeCity.ActiveReports.Export.Excel.Section
DataDynamics.SpreadBuilder GrapeCity.SpreadBuilder
DataDynamics.SpreadBuilder.Cells GrapeCity.SpreadBuilder.Cells
DataDynamics.SpreadBuilder.Imaging GrapeCity.SpreadBuilder.Imaging
DataDynamics.SpreadBuilder.Printing GrapeCity.SpreadBuilder.Printing
DataDynamics.SpreadBuilder.Style GrapeCity.SpreadBuilder.Style
See Also