v20.2 is a couple of months away, and as such, we wanted to describe some of the features we expect to ship in November.
Before we get into it – a quick reminder: If you are an active Universal or DXperience subscriber and want to review/test upcoming v20.2 related features before official release, please download our Early Access Preview build via the DevExpress Download Manager. Your feedback is important to please let us know how the functionality described herein addresses your business requirements. Your insight will help us fine-tune our implementation prior to official release.
Early Access and CTP builds are provided solely for early testing purposes and are not ready for production use. This build can be installed side by side with other major versions of DevExpress products. Please backup your project and other important data before installing Early Access and CTP builds.
This EAP may not include all features/products we expect to ship in our v20.2 release cycle. As its name implies, the EAP offers an early preview of what we expect to ship later this year.
Performance Enhancements
We refactored and re-worked the following aspects of our document generation engine:
- Report controls style calculation and caching
- Control expression value pre-processing and caching
- Text measurement method calls to optimize their frequency
- Chart processing
DevExpress Reports v20.2 can now generate printable documents 30-35% faster than previous builds. The following graph details internal test results (rendering our Large Dataset demo with different record sets):
Page Count | v20.1, time (sec) | v20.2, time (sec) | Difference, % |
---|---|---|---|
1000 | 5 | 3 | 40 |
5000 | 19 | 12 | 36.84 |
10000 | 40 | 25 | 37.5 |
25000 | 103 | 68 | 33.98 |
If you choose to install/use our EAP, please share your performance metrics with us so we can further improve our implementation.
Convert Your RDLC Reports to DevExpress Reports
Looking for an alternative for RDLC? Want to add reporting capabilities to your ASP.NET Core application?
With this release, you can migrate your RDLC reports (SQL Server Reporting Services (SSRS), SyncFusion BoldReports, Active Reports) to DevExpress Reports via our updated report conversion tool. Our new converter supports the following RDLC report controls and features:
- TextBoxes, Rectangles, Images, Lines
- Data Bindings and Expressions
- Parameters
- DataSet to SqlDataSource Conversion
- Tablix to Band Structure Conversion (both vertical and horizontal bands)
- Tablix to Cross Tab Conversion
The “Open/Import” command in our report smart tag allows you to select the appropriate *.RDLC file. Refer to the following help topic to learn more about this option: Convert Third-Party Reports to DevExpress Reports - Visual Studio Report Designer.
If you’d like to convert multiple reports simultaneously, use the command-line utility available in this GitHub repository.
Web Reporting - Async Report Storage
We have extended the capabilities of our web report storage with asynchronous save and load operations. You can also leverage the IReportProviderAsync
service – it resolves a report ID to a report instance and expedites subreport load operations. Now, applications can access threads from the ThreadPool while reporting components load, save or export report documents.
To switch to the asynchronous mode, you must:
- Modify the
ReportStorageWebExtension
service to implement async counterparts of its methods - Replace the
CreateDocument, ExportTo
… andGetModel
method calls in your application with async counterparts - Create and register the
IReportProviderAsync
service - Call the
UseAsyncEngine
method at startup to activate asynchronous operations.
Refer to the following example to learn more: How to Use the Asynchronous Engine for Web Reporting.
Federation Data Source Enhancements
The features listed in this section are available for our WinForms End-User Report Designer and our Visual Studio Report Designer.
Data Flattening
The Federation Data Source allows you to flatten (or expand/denormalize) your data source structure via a Transformation option. The inner elements of your data source (such as arrays and lists) can now be transformed into a row set. This option is especially useful for JSON, Entity Framework, Object and XPO Data Sources.
Consider the following JSON example:
[
{
"manager": "Ann",
"sales": [
{
"state": "Florida",
"amount": 132000
},
{
"state": "Alabama",
"amount": 414000
}
]
},
{
"manager": "Bob",
"sales": [
{
"state": "California",
"amount": 320000
}
]
}
]
The Field List in the Report Designer will display the data source above with a master-detail structure and a relationship:
To flatten this data source, create a new Federation Data Source, add a new query, and choose the new Transformation option:
The Field List will be updated to the following:
This allows you to print all data using a tabular layout and to calculate summaries with ease.
Select All Columns and Unbound Columns
We added two new options for your Join Federation Data Source Queries.
- You can now use “*" (all columns) operator to select all data source columns in the Federation Data Source Wizard. We also added the
SelectAll
method to the API.
- You can create unbound columns using the Criteria Language Syntax.
Your Feedback Counts
We realize beta-testing is a time consuming process and we are grateful to those who invest time with our preview builds. Find the current implementation lacking flexibility? Feel we've overlooked a valuable usage scenario? Does our current implementation fail to address your business requirements? Please post your thoughts in the comment section below or create a Support Center ticket. We will happily follow-up and do what we can to extend the capabilities of our new products/features.