ActiveReports 14 .NET Edition
ActiveReports 14 User Guide / Upgrade Reports / Breaking Changes
In This Topic
    Breaking Changes
    In This Topic

    Breaking changes from ActiveReports 13 to ActiveReports 14

    Installer

    Simplified installation

    • The GAC installation is removed. You no more need administrator previleges to install or update references.

    Assemblies moved to NuGet - https://www.nuget.org/packages/

    • NuGet packages are available instead of assemblies, so now you should install the latest NuGet packages available on the website. Installing a package automatically adds references to the necessary dlls.
    • All dependencies are also available as NuGet packages through installer.

    JSViewer and Web Designer are now available on NPM - https://www.npmjs.com/package/

    Samples are moved to GitHub - https://github.com/activereports/

    Removed HTML5Viewer
    You should now use the improved JSViewer (available with Professional Edition).
    Improved WebViewer

    Changed UI of Html mode since we are using the new JSViewer internally.

    ReportService settings in web.config (ActiveReportsXX section) are ignored.

    Moved ReportsFolder property to the WebViewer control properties.

    Changed WebViewer component API

    • Removed method: ClearCachedReport
    • Removed following events:
      • LocateDataSource1
      • LocateCredentials
    • Removed following properties:
      • HtmlExportOptions
      • MaxReportRunTime
      • PdfExportOptions
      • SlidingExpirationIntervals

    The WebViewer and JSViewer are supported only in the Integrated pipeline mode. You will get PlatformNotSupportedException on using these Viewers in Classic pipeline mode.

    Dropped Oracle Data Provider

    The Oracle data provider is no more available since System.Data.OracleClient is deprecated. If you want, you can still add this data provider to your application. The sample OracleDataProvider elaborates how to do that.

    Modified Text Rendering
    The text align is changed from Left to Center in last row of paragraph, if the last row contains only one character, and if the following properties are set: TextAlign = Justify and TextJustify=DistributeAllLines. This change can be observed in designer, preview, and PDF, Word, Excel, and Image exports.
    Changed PdfRenderingExtension (RDL reports)

    PDF export dialog

    • Hid GDI-related properties: WatermarkFont > GdiCharSet and WatermarkFont > GdiVerticalFont.
    • Removed OptimizeStatic property.

    API

    • Removed CertificateRawData property.
    Changed SVG Rendering extension
    Removed internal assembly GrapeCity.ActiveReports.Export.Svg. Now, GrapeCity.ActiveReports.Core.Export.Svg.Page assembly is used internally to export complex report items such as charts, map, etc. to HTML as SVG content.

    Changed ImageRenderingExtension             

    • Dropped EMF output format (updated ImageType enum).
    • Removed ColorDepth property from Settings class. This property was marked obsolete in ActiveReports 9.

    Removed following assemblies

    GrapeCity.ActiveReports.Core.Diagnostics.dll
    RdfRenderingExtension
    RdfRenderingExtension is now obsolete.

    1Use SetLocateDataSource method of the report service instead, as shown:

    Copy Code
    Application_Start(object sender, EventArgs e)        {
    this.UseReporting(settings =>
    { settings.UseFileStore(new DirectoryInfo(Server.MapPath("~")));
    settings.UseCompression = true;
    settings.SetLocateDataSource(args => { return LoadData(); });
    }); }

    Also, you can set the LocateDataSource event handler for a report directly as in the following code example.

    Copy Code
    pageReport.Document.LocateDataSource += new LocateDataSourceEventHandler(Document_LocateDataSource);
    webViewer.Report = pageReport;                 
    

    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 no more inherits IDisposable interface with Dispose method from HtmlRenderingExtension class (for WebViewer).

    Breaking changes from ActiveReports 11 to ActiveReports 12

    • The GrapeCity.ActiveReports.Expressions namespace is now GrapeCity.Enterprise.Data.DataEngine.Expressions.
    • The hybrid expressions like =Theme.Constants("Name") & " - " & [OrderDate].Year are now evaluated as 'render time' expressions.
    • ActiveReports 12 is not supported in Microsoft Visual Studio 2010.
    • Flash and Silverlight viewers are deprecated.

    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:

    • DataDynamics.ActiveReports.ActiveReport is now GrapeCity.ActiveReports.SectionReport
    • DataDynamics.ActiveReports.Document.Document is now GrapeCity.ActiveReports.Document.SectionDocument

    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