In this release, we focused on long-awaited features that greatly simplify developing report templates. The following are now available to you: custom line styles, changing the shape of the "Picture" object, setting up hotkeys, support for the ODBC connector, and much more.
Improved work with the Table object
Working with the report designer has become easier and more convenient. There are new capabilities for working with the "Table" object.
1. Quickly add columns and rows. If you point to a row boundary to the left of the table or a column boundary at the top, a conditional display will appear showing where a new row or column will be added. There is also a button that, when clicked, will add a new row or column to the table.
The table must be active (selected). Otherwise, new controls will not appear.
2. Change the height of rows and width of columns. Now, you can change the column width or row height accordingly by dragging the column or row border using the mouse.
3. Drop-down menu "Insert". When you right-click a cell in the context menu, you will see a drop-down list that allows you to insert a new column or row next to the cell.
4. Hotkeys. Copy cell text and paste text into a cell using the hotkeys Ctrl+C and Ctrl+V.
Merging text objects
Now, there is a mechanism for merging text objects with the same text. For this purpose, a new MergeMode property has been added to the "Text" object, which allows you to configure the merge mode. The new property works very similar to the Duplicates property in Merge mode, but there are important differences:
- Duplicates works only with one object located in the “Data” band. For example, the Data1 band has a text object named Text1, and the Duplicates property is set to Merge. When building a report, at the first iteration of Data1, when the first record is displayed in Text1, the text "10" will be displayed. On the second iteration of Data1 and the output of the second record, the same text will be output in Text1. As a result, two instances of Text1 will be connected, and the text "10" will be displayed only once.
- MergeMode, unlike Duplicates, can merge instances of different text objects, and do this both vertically and horizontally. For example, when building a report, the text "10" will be displayed in Text1 and Text2, located next to and to the right. In this case, Text1's MergeMode property is equal to Horizontal. In this case, the text objects will be connected and the text "10" will be displayed once.
Custom line styles
For the LineObject, ShapeObject, PolyLineObject, and PolygonObject objects, a new property has been added—DashPattern, which allows you to create your line styles. Previously, the line style of these objects was set using the Border.LineStyle property. Only six styles were available: Solid, Dash, Dot, DashDot, DashDotDot and Double. With the new property, you can specify a collection of values that will sequentially specify the length of strokes and spaces.
For example, with values 5, 4, 3, and 2, we set a pattern in which a stroke of length 5, a space of length 4, a stroke of length 3, and a space of length 2 will be displayed. Then, the values will be repeated in a circle, starting from 5. The unit of measurement here is the Border.Width.
If there is at least one value in the DashPattern collection, then this new mechanism will work. And the Border.LineStyle property will be ignored. If the DashPattern collection is empty, the Border.LineStyle property mechanism will still work.
Below, you can see some examples:
Change the shape of the Picture object
It is now possible to change the shape of the "Picture" object. PictureObject now has a new Shape property that allows you to specify the following shapes: rectangle (default), round rectangle, ellipse, triangle, and diamond.
Setting up hotkey combinations
It is now possible to customize hotkey combinations at your discretion. You can configure commands for actions such as "Open file," "Save file," "Prepare report," and much more. To do this, a new button has been added to the "Interface" tab in the designer settings.
Pressing it opens a window for setting up hotkey combinations.
Here is a table with actions and their assigned keyboard shortcuts. You can change the combination by double-clicking on the desired line. You can also navigate the table using the Up and Down keys, and make changes by pressing the Enter key. You can also return all combinations to their default values.
.NET 8 support
Added .NET 8 support for FastReport .NET, FastReport.Core, FastReport.Core.Skia, and FastReport.WPF. This platform improves application performance and adds many new features to your projects.
Refusal of support for .NET Standard 2.0 in FastReport.Web
To cover more and more technologies that are constantly being added to the .NET world, we have decided to abandon the legacy .NET Standard 2.0 compatibility layer in our Web integration library FastReport.Web (WebReport Core/Skia). The minimum supported version of TargetFramework for this product will now be .NET Core 3.1 and higher (including .NET 5, 6, 7, and 8). FastReport.Core and FastReport.Core.Skia will still support .NET Standard 2.0 without changes.
Added ODBC connector support for FastReport.Core
Our users have been asking us for a long time to add the ability to connect to databases via the ODBC protocol for our cross-platform products. This feature was present only in FastReport .NET and FastReport WPF previously. With this update, it is also available in FastReport.Core and FastReport.Core.Skia. To use it, add the FastReport.Data.Odbc plugin to your project and register it with this code:
Changes in WebReport
Email Export to WebReport
Now, WebReport has a function for sending reports by email. To enable this feature, you need to configure the SMTP server parameters when registering FastReport services. Just add the code:
After this, activate the option WebReport.Toolbar.Exports.ShowEmailExport and users will be able to send reports by email:
When you click the "Send by mail" button, the user will be asked to configure the message through a convenient modal window:
Printing in Blazor WebAssembly
WebReport now allows you to print reports in Blazor WebAssembly. This feature is enabled by default, but if you need to disable it, just use the following code:
Your reports can now be printed directly from Blazor WebAssembly:
Full list of changes
+ added merging of text objects;
+ added the ability to change the shape of PictureObject;
+ added the ability to create custom line styles;
* now working with fonts is done without blocking;
- fixed text going beyond the boundaries of the TextObject when TextRenderer = HTMLParagraph;
- fixed creation of fonts from PrivateFontCollection;
- fixed incorrect text color in RichObject;
- fixed a break between RichObject and image;
- fixed a bug when the focus was lost from the DateTimePicker object if it had the DetailedControl property specified;
- fixed a bug in barcodes (display on HiDPI, export to PDF);
- fixed indentation in HTMLTextRenderer;
- fixed incorrect RichObject breaks;
+ added the “Show progress window” property to the designer settings;
+ added the ability to configure hotkey combinations;
* updated checks for links; links with spaces are now processed correctly;
- fixed the appearance of extra lines when scaling a RoundRectangle of small size;
- fixed slash encoding in Barcode 93 Extended;
- fixed deleting a link when merging dictionaries;
- fixed a bug with the choice of date or time formatting in the Hungarian localization;
- fixed incorrect size of the page border when the page height or width is infinite;
+ implemented saving of each image in a separate thread;
+ added missing links to event handlers in exports to Excel 2007, Word 2007, and RTF;
+ added a new property for scaling barcodes when exporting to ZPL;
+ added selection of group by which the report will be divided into sheets in Excel 2007;
+ added the ability to disable grouping of sheets when exporting to Excel 2007;
+ added the use of wrap mode for texture fill when exporting to SVG;
* when exporting to cloud storage, the window automatically closes after receiving the authorization code;
- corrected private font collections;
- fixed error in parsing the GSUB table;
- fixed incorrect export of DashDot, DashDotDot, and Double object border styles to PDF;
- fixed a bug when the numbers in the Gauge were displayed blurry during HTML export;
- fixed calculation of the ContentMD5 header in S3 export;
- fixed incorrect positioning of text when exporting to ZPL;
- fixed incorrect export of GaugeObject to PowerPoint 2007;
- fixed incorrect export of RadialGauge with filling in layered export in Word 2007;
- fixed incorrect export of RadialGauge with filling in non-layered HTML;
- fixed display in "Clamp" transfer mode for texture fill when exporting to SVG;
- fixed the change in text size when using HTML tags in Excel 2007 export;
- fixed the incorrect behavior of HTML tags with tabs when exporting to Excel 2007;
- fixed the problem of reducing the quality of the watermark when exporting to PDF;
- fixed a bug with incorrect indents when exporting to tables in Word 2007;
- fixed image positioning in CheckBox when exporting to Word 2007;
- support for .NET Standard 2.0 has been removed in FastReport.Web;
- fixed an error when exporting in the Blazor application;
- fixed ignoring Margin when printing with PrintHtml in WebReport;
- fixed a bug when the text width was incorrectly calculated when exporting to PDF;
- fixed a bug in displaying the navigation menu after minimizing Demo New;
+ added Variant conversion to CLR types in MySqlDataConnection;
+ added FastReport.Data.Odbc plugin;
+ added support for FastReport.WPF for FastReport.Data connector plugins;
* changed the behavior of the message about duplicate names in a request;
- fixed the automatic creation of parameters in a request.