ActiveReports v16 - January 18, 2022

We are excited to announce the release of ActiveReports.NET v16. This is the latest major release focused on coupling the newest tech with ease of use to highlight our feature-packed controls and powerful backend reporting engine.

In this blog, we'll discuss some of the top features and how they can benefit your reports.

.NET 6

As you know, .NET 6 is the next version of .NET Core. The previous version, .NET 5, was an intermediary release with support for the framework, which ended in May 2022. Because .NET 6 offers LTS (Long-Term Support), we expect that pretty much every .NET 5 user will migrate to .NET 6.

The release of .NET 6 brought many features focused on performance improvements. For example, two forms of PGO (Profile Guided Optimization) were introduced: Dynamic and Static.

While PGO has existed in .NET for some time, implementation of Dynamic PGO building on Tiered Compilation in .NET 6 brings approximately 26% improvement in requests per second.

System.Text.JSON source generators, combined with MemoryCache performance improvements, yield up to 50% higher throughput when compared to .NET 5. Similarly, improvements to FileStream result in 4x faster speeds than .NET 5:

dotnet 6

Source: Microsoft

To get started with ActiveReports on .NET 6, you will need Visual Studio 2022, with .NET 6 installed. Run the ActiveReports.NET installer to install the necessary tools and integrate them with your Visual Studio 2022 instance.

At this point, you can either create a new application or upgrade an existing application to .NET 6. To create a new application with ActiveReports, you can either start a new blank project or use one of the pre-built project templates ActiveReports provides:

templates

Migrating from .NET 3.1 or .NET 5 to .NET 6 is relatively simple if you have an existing application. See this page for a step-by-step guide on migrating the project. ActiveReports requires nothing beyond that to work in .NET 6.

Report Viewers

There are several features implemented in our report viewer components. As a review, we now have three report viewer components for the web: WebViewer for ASP.NET Web Forms, JSViewer for ASP.NET MVC and ASP.NET Core MVC, and the new Blazor Viewer.

New Blazor Viewer

Blazor helps C# developers avoid coding in JavaScript. As such, it opens the realm of web development to a subset of developers who are more comfortable with C# than the various frameworks of JavaScript.

To support our loyal user base, we wrapped our JSViewer component to integrate into Blazor applications easily. This serves to bring the rich functionality, friendly UI, and API of the powerful JSViewer to your C# web app.

To add the Blazor Viewer to your application, install the GrapeCity.ActiveReports.Blazor NuGet package and code as follows:

<GrapeCity.ActiveReports.Blazor.ReportViewer @ref="_viewer" ReportName="@reportId" DocumentLoaded="@DocumentLoaded"/>   @code {
                private ReportViewer _viewer;
                private string reportId = "BalanceSheet.rdlx";
            
                private async void DocumentLoaded()
                {
                    await _viewer.Export(ExportTypes.Pdf,
                        (uri) =>
                        {
                            //uri to export result
                        },
                        false,
                        new Dictionary<string, string>() { { "Title", "Some Title" } },
                        () =>
                        {
                            //сhecking export cancellation
                            return false;
                        }
                    );
                }
            }
            

The Blazor Viewer is available in ActiveReports.NET Professional Edition.

Animations

animations

We have added some animations to Chart and Table controls in Page and RDL reports in this release. These animations help you create more valuable and rich reports by highlighting chart series and table rows on mouse hover. We have also added a chart load animation for a more aesthetic appeal and to grab your users' attention.

These animations are supported on previewing reports in either the JSViewer or WebViewer controls. The following code shows the use of these animations in the JSViewer:

function loadViewer() {
                viewer = GrapeCity.ActiveReports.JSViewer.create({
                element: '#viewerContainer',
            
                //New animation API
                animation : {                    
                    loadChart: { enabled: true},
                    hoverChart: { enabled: true },
                    hoverTable: { enabled: true, backgroundColor: 'LightGray', textColor: 'Red' }                
                }
            };
            

Please note that (for chart animations) you will also need to add the jsViewer.chart.min.js and jsVIewer.chart.min.css files from our NPM packages to your project and link them appropriately in your page:

<head>
              <!-- link the chart jsViewer's animation plugin -->
              <link href="jsViewer.chart.min.css" rel="stylesheet">
              <script type="text/javascript" src="jsViewer.chart.min.js"></script> 
            </head>
            

Export Panel Presets and Customization

Now, you can define default export settings when exporting your reports. Additionally, you can hide any of these settings so your clients cannot edit them at runtime.

For example, you may want to predefine specific properties, such as a file name, version, and password for PDF export, so that your end client doesn't have to. You will use the DefaultExportSettings API to set both predefined values and visibility of the settings for each export type:

<DefaultExportSettings>    
                <PdfExportSettings>
                    <Title Value="CUSTOM_Document"/>
                    <Version Value="Pdf15" />
                    <UserPassword Value="userpsswd"  Visible="False" />
                    <OwnerPassword Value="ownerpsswd"  Visible="False" />
                    <FileName Value="Client_Report" Visible="False"/>
                </PdfExportSettings>
            </DefaultExportSettings>
            

By default, all export properties are visible unless defined as above. This feature is available for both the WebViewer and JSViewer components.

Report Designers

As you probably know, we have report designers targeting different user groups. In this release, we have made some improvements to all of them.

Visual Studio Integrated Designer: Guided Databinding

We've created a sequence of dialog boxes for developers that allow you to create reports quickly. This is especially helpful for new users to get started faster. When a developer adds a new report item to their project, a series of dialog boxes are displayed to help guide the databinding process.

This process is also available in the Standalone Report Designer and the End-User Report Designer for Desktop. Seasoned ActiveReports users can turn this feature off:

databinding

Web Report Designer: Chart Wizard

activereports

Like the guided databinding wizard above, we've implemented a new wizard to easily and quickly create rich charts in Page and RDL Reports. This wizard launches automatically when a user adds a chart control to the design surface.

The wizard helps the user choose from the various chart templates, choose a data set, select the appropriate fields, and set chart properties.

The chart wizard offers a clean UI to help create chart layouts. There are also options available to utilize more advanced features such as interactions, multiple plots, conditional formatting, and more.

Page/RDL Reports

ActiveReports offers three different report types, each with its strengths and serving specific needs. Each report type provides a set of controls and features not available in others. Page and RDL reports offer many more design-time features, making them ideal for quickly creating rich reports.

Chart Upgrades

Trendlines. In ActiveReports.NET v16, we've added an Overlay property to the Chart's Plot template. This means, since you can have multiple plots on a single chart, each plot can have its own defined overlay.

The Overlay property gives you access to 13 different trendline types: ReferenceLine, ReferenceBand, LinearTrendline, ExponentialTrendline, PowerTrendline, LogarithmicTrendline, PolynomialTrendline, FourierTrendline, MovingAveregeTrendline, CumulativeMovingAverageTrendline, ExponentalMovingAverageTrendline, WeightedMovingAverageTrendline, and MovingAnnualTotalTrendline.

charts

Custom Axis Labels. Sometimes you want to customize the labels of your chart axes, especially if the values stored in the dataset are not very clear or intuitive.

To help with these scenarios, we've introduced a LabelField property for the Chart's X-axis. Another benefit of this property is that you can use expressions to create highly customized labels.

axis

Custom Data Field Name. For the same reason as the custom axis labels, sometimes you might have data field names in your dataset that are not intuitive. Now, in ActiveReports.NET v16, you can set a custom text for a data field label in the legend:

field name

To use this feature, make sure you have a Color encoding set by dragging a field from your data set to the Color Encodings panel of your chart. Now, select the Chart's plot area and click on the Values ellipsis under Encodings.

With the DataFields Collection Editor open, click on the Value ellipsis. Use the Caption property to enter a custom label.

Page Reports

Mixed Page Orientation

Page Reports are a very unique report type in that they are layout-driven. They are great for official documents, like W2s, where each report element must be in a precise position. Therefore, with Page Reports, you design the exact layout of report pages.

If you need varying designs for different pages, you can add additional pages to your report template and design those as you wish. Sometimes, you may need to have separate pages in different orientations or with varying margin sizes. Now, you can control these properties for each page via designer settings or in code:

var fixedPageItem = new FixedPage();
            fixedPageItem.Pages.Add(new Page(){
                Width = "10in",
                Height = "20in",
                MarginLeft = "0.5in",
                MarginRight = "0.5in",
                MarginTop = "0.5in",
                MarginBottom = "0.5in",
            });
            

The mixed page layout feature supports the following exports: PDF, HTML, and Image.

Hide or Remove Pages at Runtime

Continuing with the discussion above, you might sometimes need to hide a specific page from being displayed at runtime. For example, you might have a clause or agreement on a dedicated page, you only want that page displayed in specific circumstances.

You can use the Page's new Visibility.Hidden property to control this behavior. You can also select a report element, such as a textbox, as the toggle to show or hide the page at runtime. Of course, both of these options can be set in the designer or code. This feature supports all exports except for Excel export.

Section Reports

Section Reports are the most flexible of the three report types, with runtime events fired at various stages of report execution. Furthermore, Section Reports come in two flavors: XML-based, which are designer layouts, or Code-based, which are entirely coded in C# or VB.NET.

InputField Controls for Section Reports

In this release of ActiveReports.NET, we brought the InputField Control feature to Section Reports. The InputField controls are used to create interactive PDF forms such as AcroForms. While this functionality was available in Page and RDL Reports, now Section Reports users can also create AcroForms using these controls.

There are two types of InputField controls: InputFieldText and InputFieldCheckBox.

These controls, once exported to PDF, will be interactive where the user can check the checkbox and type into the textbox. On preview, or if exported to another format such as Word, HTML, or Excel, these controls will export as a regular checkbox or textbox.

Is that it?

The features we highlighted above are still not everything included in this release—there's so much more. Here are some honorable mentions:

  • New barcodes: GS1 DataMatrix and Aztec 2D symbologies
  • Width and MaxWidth properties for vertical axes in Page/RDL Report charts
  • Conditionally set size of Legend markers in Page/RDL Report charts
  • Set the axis label text to vertical in Page/RDL Report charts
  • Ability to cancel report rendering
  • Ability to track the progress of report rendering
  • CSV data provider now has a Decimal data type
  • Keep Table and Tablix groups on one page in Page Reports

As you can see, there are a variety of cool features included in this release. Experience ActiveReports.NET v16 with a full-featured 30-day free trial.

If you already have a license for v16, you can use the GrapeCity License Manager utility on your machine to activate the license.

If you are not an ActiveReports.NET customer and would like a personalized demo of ActiveReports.NET features, click here.