This month’s Tips & Tricks post includes links to a few interesting technical support tickets and info on product/documentation updates. We hope this information is helpful to those of you considering DevExpress Reports for an upcoming project. As always, should you have any questions, feel free to post your comments below.
Our Most Recent Enhancements
The following is a list of enhancements available in our most recent release (v20.2.6).
Changes in Our Sorting and Grouping Algorithm
Because of the following issue, we changed the way report data is grouped and sorted: GroupHeaderBand - GroupFields with None sorting stopped working after upgrade to 20.1.8. Previously, the sorted data could ignore groups:
With this fix, if the SortOrder property is set to None
, data rows are grouped first, and then sorted within each group:
Reporting for Angular - Tree Shaking
We added tree shaking support to the import of library content. This means you can now import only the Report Viewer component into your Angular application:
import { DxReportViewerModule } from 'devexpress-reporting-angular/dx-report-viewer';
The resulting bundle size will be nearly twice as small since as the resources required for our Report Designer and our Query Builder will not be loaded.
Web Query Builder - Drag to Scroll Support
When you drag a table field to build a relationship with another table in our Web Report Designer’s Query Builder, the screen is scrolled to tables beyond the visible area.
This feature is also available in components that include/use our Query Builder (like the Web Report Designer and Web Dashboard Designer).
Web Document Viewer - Tab Navigation for Editing Fields
We introduced the following changes to help improve user experience:
- When in the Web Document Viewer and Web Report Designer’s Preview, users can now access editing fields with TAB keys or via keyboard navigation.
- Editing fields are now highlighted in the Document Viewer’s Mobile Mode.
Documentation Updates
- Our Export Reports to PDF and Export to XLS / XLSX topics now describe specifics related to the export process.
- We added the following help topics: Localization in ASP.NET Core, Localization in Angular, Localization in React, and Localization in Vue.
- The following topics have been added to the ASP.NET Core Reporting documentation section:
- Best Practices - contains links to sample projects that demonstrate how to design a web reporting application.
- Tasks and Solutions - lists common tasks and describes how to address them.
- Angular Reporting - Print and Export Reports without a Preview - describes how to print and export reports on the server side.
- Export to MailMessage - this revised topic contains updated instructions and code samples for those who need to send a report by email.
- New security-related topics for Web Reporting: General Considerations, Authorized Access to Reports and Documents, Application Security.
Interesting Tickets
The following tickets from the Support Center could be worth your attention:
Reporting - Multiple Supported Platforms (WinForms, WPF, ASP.NET, .NET Core)
- How to set the Drill-Down Expanded binding based on a report parameter (T969042)
-
Use the ExpressionBindingDescription.SetPropertyDescription method to enable expressions for report control properties:
// Set the description for the XRLabel's "Angle" property. ExpressionBindingDescriptor.SetPropertyDescription(typeof(XRLabel), "Angle", description);
-
Note that table cells are containers that are able to host any other report controls.
Reporting for Angular
Reporting for Blazor
Reporting for ASP.NET Core
- How to create reports from dxDataGrid (T968282)
- How to use a parameter value's Display Name instead of a value (T983026)
-
Use the LookUpHelper.GetLookUpValues method to obtain a list of available parameter values and retrieve LookUpValue.RealDescription for selected parameter values.
- How to pass parameters from the controller to the database (T983442)
-
Include parameters into a reportUrl – a string that you pass to the viewer's Bind method. Parse this string on the server side and extract the name of a report and its parameters. Pass parameter values to report parameters from the XtraReport.Parameters collection.
Reporting for ASP.NET MVC
- How to toggle print margins warning via End-User Report Designer control (T969528)
-
Handle the Report Designer's CustomizeToolbox event to display the ShowPrintMarginsWarning property.
- How to rename or delete a report in the report storage (T967708)
Reporting for ASP.NET Web Forms
- Web Report Designer - Expression Editor - How to add and remove functions (T969801)
- Web Document Viewer - How to pass query string parameters to a report (T968985)
- Web Document Viewer - How to merge reports previewed with CachedReportSourceWeb (T962094)
-
Use the XRSubreport control to merge reports.
Reporting for WinForms
- How to limit the size of a component in an End-User Report Designer (T967886)
-
Handle the IComponentChangeService.ComponentChanged event to validate the control's height.
- How to manage the printing security settings under the ‘Network Service’ and ‘Local Service’ accounts (T969123)
- How to replace ObjectDataSource components in report with custom descendants that implement IDisplayNameProvider interface (T978564)
-
Use the DataSourceManager.ReplaceDataSource to replace a specific data source with another data source.
Reporting for WPF
- How to add a signature control to the Report Viewer and export a report with a signature using a custom toolbar button (T969926)
- WPF End-User Report Designer - How to show tooltip for items in the Field List (T969375)
-
Override the report designer template to show a tooltip in the Field List nodes.
- How to hide the Designer tab in the WPF Report Designer in an MVVM scaffolding application (T967234)