Types of solutions

Universal solutions

A set of tools and components for data visualization, analysis, collection, and presentation, with which you can create, print, and export any documents.

Report generators for .NET

Sets of components that streamline and automate the process of creating reports and documents for various technologies.

Report generators for Delphi/Pascal

Sets of components that streamline and automate the process of creating reports and documents for various technologies.

Service solutions

Ready-made services and client-server systems for fast data visualization and automatic execution of information processing tasks.


May 21, 2024

New version of FastReport Online Designer 2024.2

  Massive update of functionality in the report designer. Meet a lot of new functionality: a new "Sparkline" object, custom SQL queries, Intellisense when editing report code. Based on requests from our users, we have significantly improved the "Builder" application for creating builds.   New opportunities Implemented a context menu for a page in the page panel A context menu was implemented to make working with pages more convenient. With it, you can open the page editing window, copy a report page, and also delete a page.   Implemented the "Sparkline" object Now the "Sparkline" object is available not only for display but also for editing. You can go to the spark graphic editing window by double-clicking on the band object. After this, a window will open in FastReport Online Designer in which you can specify data for the graph, set up its appearance, areas, axes, title, and legend. A spark graph will be displayed during the report preview:   Added the ability to delete and edit a connection To delete a connection, you need to click on the delete button: If you need to edit an existing connection, click on the wrench icon. After this, the connection wizard will open:   Added a mode in which the names of bands will be displayed at the top Similarly to the FastReport .NET report template designer, the FastReport Online Designer has implemented the ability to change the display mode of band names. If you need to switch the band name display mode from vertical to horizontal, click the button in the top-left corner of the workspace.   Implemented a save button for the Mini theme A save button has been added for the Mini theme. It is located on the top panel:   Added the ability to execute custom SQL queries Working with data sources has become even more convenient. The ability to execute custom SQL queries has been added to FastReport Online Designer. To enable this feature, you need to add the parameter: services.AddFastReport(options => options.AllowCustomSqlQueries = true); in the server application code. Make sure your database is read-only and does not contain sensitive information. After enabling the feature (when creating a data source), you will be offered the opportunity to add your own SQL views for this data source. You can use these SQL views as regular tables.   Implemented sorting and an Expand/Collapse button for the advanced matrix and the ability to change the visibility of data using the button The Advanced Matrix object has been improved. Now matrix reports can be made more interactive. To sort the fields, you need to call the context menu for the header cell and select the appropriate item: You can set sorting conditions by double-clicking on the cell and opening the corresponding tab in the header cell settings window: In a similar way, using the context menu, the “Expand/Collapse” button is added: The operating conditions of this button can also be configured for other header cells by opening the "Visibility" tab in the settings window for the required cell. Next, you need to select the desired button in the “Visibility is switched by button” drop-down list:   Added the ability to create a calculated field If you need to use a certain expression constantly, you can create a corresponding field in the data source. This is done by calling the context menu of the table, where the “New calculated field...” item is selected. After you create a calculated field, you can give it an expression in the properties panel.   Implemented the Dock property in the designer To improve the user experience, a visual display of the Dock property in the report template designer was implemented. This property allows you to align a component on a band.   Implemented the SizeMode property for images in the designer We have implemented a visual display of the SizeMode property when editing a report template. This property allows you to set the image display mode.   Implemented VisibleExpression property for the report page Now, when editing a report template in FastReport Online Designer, you can set the page display condition. The VisibleExpression property is used for this. You can set its value in the properties panel, either manually or using the expression editor.   Added page editing window To make customizing the page more convenient, we have added a page editing window. You can open it using the context menu of the page in the page panel by selecting "Page Settings".   Added the ability to create relations between tables in data sources FastReport Online Designer 2024.2 has now the functionality that allows you to create a relation between tables in a data source. To do this, call the context menu for the table and select “New connection”: Next, a relation editing window will open where you can set the necessary parameters:   Added Intellisense functionality when editing report code (*beta) In the latest update of FastReport Online Designer, we have significantly improved the work with C# code. Now, thanks to the introduction of the Intellisense function, editing scripts in the report editor has become even more convenient and intuitive. Intellisense provides automatic code completion and syntax hints, allowing users to write code faster and more accurately right in the web interface. This greatly simplifies the development process, making FastReport Online Designer an even more powerful tool for your business.   A new version of FastReport Online Designer Builder has been implemented A new version has also been implemented for the FastReport Online Designer Builder. The design and user experience have been improved, and a dark theme has been created based on user requests.   Improvements Redesigned context menu The main items have been grouped into one panel in the context menu of FastReport Online Designer objects. Icons have also been added to improve the user experience. Now the context menu looks like this:   Information displayed on the StatusBar has been expanded Added information with X and Y coordinates of the upper left corner of the selected component; Added information with X and Y coordinates of the lower right corner of the selected component; Added information about the width and height of the selected component; Added text to text objects.   Improved user experience on Zoom panel A number of improvements have been made to enhance the user experience of the Zoom panel. Now the panel looks like this:   Full list of changes --- + Implemented a context menu for a page in the page panel; + Implemented the "Sparkline" object; + Added the ability to delete and edit a connection; + Added a mode when the names of bands will be displayed at the top; + Implemented a save button for the Mini theme; + Added the ability to execute custom SQL queries; + Implemented sorting and the "Expand/Collapse" button for the advanced matrix, as well as the ability to change visibility using the button; + Added the ability to create a calculated field; + Implemented the Dock property in the designer; + Implemented the SizeMode property for images in the designer; + Implemented the VisibleExpression property for the report page; + Added page editing window; + Added the ability to create relations between tables in data sources; + Added Intellisence functionality when editing report code; + Implemented a new version of FastReport Online Designer Builder;   * Redesigned context menu; * Expanded the information displayed on the StatusBar; * Improved user experience on the Zoom panel;   - Fixed a bug where a field was incorrectly transferred from the database in the EvaluateCondition editor for Total; - Fixed a bug where the MS Chart data source disappeared when opening a report; - Fixed a bug where Highlight conditions were displayed incorrectly when loading after saving a report; - Fixed a bug where sorting in DataBand did not work; - Fixed a bug when double-clicking on a dialog form component; - Fixed a bug where nested report parameters did not work correctly; - Fixed a bug where the dialog form did not accept size values; - And other fixes.
May 27, 2024

Upgrading cloud services to version 2024.2

  In the new version of FastReport Cloud and FastReport Corporate Server, we have worked on quality, fixed bugs, and added some new features.   Bulk copying and moving API methods that allow for copying and moving multiple files and folders at once are added. Previously, one had to make multiple queries to copy each file. Now one query is enough. This saves network resources and makes copying faster and more convenient. /api/rp/v1/Templates/{subscriptionId}/CopyFiles /api/rp/v1/Templates/{subscriptionId}/MoveFiles   /api/rp/v1/Reports/{subscriptionId}/CopyFiles /api/rp/v1/Reports/{subscriptionId}/MoveFiles   /api/rp/v1/Exports/{subscriptionId}/CopyFiles /api/rp/v1/Exports/{subscriptionId}/MoveFiles An example of a template copy query: { "$t":"SelectedFilesVM", "isAllSelected":false, "folderId":"634fe7eeaa878f1c59e142367", "searchPattern":"", "useRegex":false, "files":["63d786bdfa2304a349d42f9c","62c75affbd78354cc1dabff5"], "folders":[], "path":"66d38a32fa1b7824ee1fd036", "isBin":false }   Alternative method of uploading files to the cloud An optimized method for uploading templates (/api/rp/v2/Templates/Folder/{id}/File) and reports (/api/rp/v2/Reports/Folder/{id}/File) has been added. The new method, unlike the first version, accepts a binary file and thus saves resources. The v1 download methods are marked as obsolete and are not recommended for use. The method of changing the content of already loaded templates is also updated: /api/rp/v2/Templates/File/{id}/Content.   RichText preview in Online Designer Starting with the current version of FastReport Cloud, Online Designer supports the ability to preview RichText objects.   Style templates for ChartObject in Online Designer You can now select preset style templates when editing charts.   Ability to share files via a link We have added functionality that allows for sharing any files via a link. Previously, it was possible to open access to the file to any anonymous users. Access can now be restricted with a key added to the link. To use the access key, it is enough to pass the accessKey parameter, equal to the value of the Key field of the key, with the query. In this case, the user (even an anonymous one) will receive all the rights that this key grants for the time of the query.   Editing a user’s avatar Added a button to change the user avatar and a default image in case the avatar is unavailable.   New Recycle Bin for deleting files A new page with a Recycle Bin for deleting files has been added. The button to go to the Recycle Bin is placed on the sidebar. The ability to clear sections with templates, reports, and exports at the same time has been added.   The page for working with Tasks has been improved Creation of a report preparation task has been added: Creation of a report export task has been added: The task of saving via FTP has been added: The task of sending files via webhook has been added:   Workspace tags in the admin panel for FastReport Corporate Server Workspace tags for easier searching have been added. For example, when administering a Corporate Server, workspaces for the organization’s employees and customers are created. You can use tags to tag your workspaces and exclude them when searching for client spaces.   Full list of changes [Backend]+ added entity name to worker audit;+ added bulk copy and move files and folders;+ added alternative method to upload reports;+ added RichText and Chart preview in online designer;+ added ability to share access to the file; + added checking and resolving issues when the parent folder has been deleted;+ added more checks when exporting folders; * now corporate server runs in demo mode by default; the license key for demo mode is no longer required; * updated comments for all controllers, fixed returned status codes;* messages about errors 500 became more informative for users;* optimized GetStats method by building a pipeline before the loop;* changed limits of the maximum request body size;- fixed infinite folder creation;- fixed duplicate archive names when exporting;- fixed Online Designer working with compressed templates; - fixed test of critical changes in the QA pipeline;- fixed copying files over the limit;- tasks to export a template from the Recycle Bin now correctly return error 404;- fixed localization error when moving to the Recycle Bin; [Common]+ added exclusion of users and subscriptions to audits; + added tags to subscriptions;+ added articles to documentation for programmers;+ added documentation for FTP sending task;+ added article for report parameters;* added SDK for Kotlin (Android);* updated documentation for tasks in UI;- renamed view models in SDK to shorter names;& updated SDK generator version; & optimized memory consumption; [Frontend]+ added file counter when exporting a folder;+ added cache for charts in admin panel;+ added approximate display of files while uploading them;+ added validation when creating and editing an email task;+ added document type selection in selection dialogs; + added a button to change the user avatar and a button to upload a spare image in case the avatar is unavailable;+ added skeleton placeholders for data sources during upload;+ added animation for file upload;+ added a new page with the Recycle Bin for deleting files;+ added creation of report preparation task;+ added creation of report export task;+ added EmptyContent and Placeholder for folder selection dialog;+ added Placeholder and EmptyContent to file selection dialog;+ added FTP sending component to user panel;+ added webhook task for user panel;+ added space checker;+ added OnInitialized method;* added a redirect to owner from page and workspace board;* added sorting to file pages in the admin panel; * normalized MySQL connection string according to standards;* styled ExportTemplateEditor;* updated task page for admin panel;* changed names of new tasks;* moved common code to a separate component;* changed OutputFileCard;* added new name for webhook;- fixed empty task name after BadRequest error;- fixed incorrect file view when changing export output file;- fixed bug that caused the online designer to sometimes open files twice;- fixed bug that caused CSV connection to ignore parameter names;- fixed error messages when testing a data source before creating it;- fixed bug that breaks data sources page when updating;- fixed error 400 when moving folders;- fixed broken transport card on too long or too short text;- fixed content movement on the task page; - fixed transportation problems.


April 08, 2024

Using the CreatePage event in FastReport .NET

The new event CreatePage occurs when creating a new page in the FastReport .NET engine. At this stage, you can change the properties of the page. Other events like StartPage, FinishPage, and ManualBuild are triggered before the beginning/end of building the page template. For example, you can alternate between landscape and portrait page orientations. Alternatively, with the help of this event, you can create a separate data source that will contain information about ExportAlias or other page properties. During the event execution, you can set parameters, and at the beginning of the next page, iterate through the data source. The modified demo report using the CreatePage event to define ExportAlias is described in the following example. <?xml version="1.0" encoding="utf-8"?> <Report ScriptLanguage="CSharp" TextQuality="Regular" ReportInfo.Description="Demonstrates a group report. To create it:&#13;&#10;- go to "Report|Configure Bands..." menu;&#13;&#10;- press "Add" button and add a group header (this will add a data band and a group footer as well);&#13;&#10;- return to the report page, doubleclick the group header to show its editor." ReportInfo.Created="01/17/2008 04:31:41" ReportInfo.Modified="03/13/2024 17:32:59" ReportInfo.CreatorVersion=""> <ScriptText> using System; using System.Collections; using System.Collections.Generic; using System.ComponentModel; using System.Windows.Forms; using System.Drawing; using System.Data; using FastReport; using FastReport.Data; using FastReport.Dialog; using FastReport.Barcode; using FastReport.Table; using FastReport.Utils;   namespace FastReport { public class ReportScript { private void Page1_CreatePage(object sender, EventArgs e) { if(Data1.DataSource.RowCount == 0) Data1.InitDataSource(); Page1.ExportAlias = Data1.DataSource["ProductName"].ToString().Substring(0,1); } } } </ScriptText> <Styles> <Style Name="EvenRows" Fill.Color="OldLace" Font="Arial, 10pt"/> </Styles> <Dictionary> <TableDataSource Name="Products" ReferenceName="NorthWind.Products" DataType="System.Int32" Enabled="true"> <Column Name="ProductID" DataType="System.Int32"/> <Column Name="ProductName" DataType="System.String"/> <Column Name="SupplierID" DataType="System.Int32"/> <Column Name="CategoryID" DataType="System.Int32"/> <Column Name="QuantityPerUnit" DataType="System.String"/> <Column Name="UnitPrice" DataType="System.Decimal"/> <Column Name="UnitsInStock" DataType="System.Int16"/> <Column Name="UnitsOnOrder" DataType="System.Int16"/> <Column Name="ReorderLevel" DataType="System.Int16"/> <Column Name="Discontinued" DataType="System.Boolean" BindableControl="CheckBox"/> <Column Name="EAN13" DataType="System.String"/> </TableDataSource> <Total Name="TotalProducts" TotalType="Count" Evaluator="Data1" PrintOn="GroupFooter1"/> </Dictionary> <ReportPage Name="Page1" Watermark.Font="Arial, 60pt" CreatePageEvent="Page1_CreatePage"> <ReportTitleBand Name="ReportTitle1" Width="718.2" Height="103.95" CanGrow="true"> <TextObject Name="Text1" Top="56.7" Width="718.2" Height="47.25" Text="ALPHABETICAL PRODUCT LIST" HorzAlign="Center" VertAlign="Center" Font="Tahoma, 14pt, style=Bold"/> <TextObject Name="Text11" Top="28.35" Width="718.2" Height="28.35" Anchor="Top, Left, Right" Fill.Color="WhiteSmoke" CanGrow="true" CanShrink="true" Text="[Report.ReportInfo.Description]&#13;&#10;" Padding="4, 4, 4, 4" Font="Tahoma, 8pt"/> <TextObject Name="Text18" Width="718.2" Height="28.35" Anchor="Top, Left, Right" Fill.Color="WhiteSmoke" Cursor="Hand" Hyperlink.Value="http://fast.report/cda2a" Hyperlink.OpenLinkInNewTab="true" Text="Learn how to build this report on the Fast Reports Academy channel" VertAlign="Center" Font="Tahoma, 10pt, style=Bold, Underline" TextFill.Color="Blue"/> </ReportTitleBand> <GroupHeaderBand Name="GroupHeader1" Top="107.15" Width="718.2" Height="37.8" StartNewPage="true" KeepWithData="true" Condition="[Products.ProductName].Substring(0,1)" SortOrder="None"> <TextObject Name="Text7" Left="9.45" Width="699.3" Height="37.8" Border.Lines="All" Border.Color="LightSkyBlue" Fill="LinearGradient" Fill.StartColor="LightSkyBlue" Fill.EndColor="AliceBlue" Fill.Angle="90" Fill.Focus="0.42" Fill.Contrast="1" Text="[[Products.ProductName].Substring(0,1)]" Padding="5, 0, 0, 0" VertAlign="Center" Font="Tahoma, 12pt, style=Bold"/> <DataBand Name="Data1" Top="148.15" Width="718.2" Height="18.9" DataSource="Products" KeepTogether="true"> <TextObject Name="Text2" Left="9.45" Width="604.8" Height="18.9" Border.Lines="Left" Border.Color="LightSkyBlue" Text="[Products.ProductName]" VertAlign="Center" Font="Tahoma, 8pt"> <Highlight> <Condition Expression="[Row#] % 2 == 0" Fill.Color="AliceBlue" TextFill.Color="Black" Font="Arial, 10pt" ApplyFill="true" ApplyTextFill="false"/> </Highlight> </TextObject> <TextObject Name="Text4" Left="614.25" Width="94.5" Height="18.9" Border.Lines="Right" Border.Color="LightSkyBlue" Text="[Products.UnitPrice]" Format="Currency" Format.UseLocale="true" Format.DecimalDigits="2" HorzAlign="Right" VertAlign="Center" Font="Tahoma, 8pt"> <Highlight> <Condition Expression="[Row#] % 2 == 0" Fill.Color="AliceBlue" TextFill.Color="Black" Font="Arial, 10pt" ApplyFill="true" ApplyTextFill="false"/> </Highlight> </TextObject> <Sort> <Sort Expression="[Products.ProductName]"/> </Sort> </DataBand> <GroupFooterBand Name="GroupFooter1" Top="170.25" Width="718.2" Height="47.25" KeepWithData="true"> <TextObject Name="Text8" Left="9.45" Width="699.3" Height="18.9" Border.Lines="Left, Right, Bottom" Border.Color="LightSkyBlue" Text="Total products: [TotalProducts]" HorzAlign="Right" VertAlign="Center" Font="Tahoma, 8pt, style=Bold"/> </GroupFooterBand> </GroupHeaderBand> <PageFooterBand Name="PageFooter1" Top="220.7" Width="718.2" Height="28.35" Fill.Color="WhiteSmoke"> <TextObject Name="Text9" Left="614.25" Width="94.5" Height="28.35" Text="[PageN]" HorzAlign="Right" VertAlign="Center" Font="Tahoma, 8pt"/> <TextObject Name="Text12" Left="9.45" Width="217.35" Height="28.35" Cursor="Hand" Hyperlink.Value="https://www.fast-report.com/en/product/fast-report-net/" Text="Generated by FastReport .NET" VertAlign="Center" Font="Tahoma, 8pt, style=Underline" TextFill.Color="Blue"/> </PageFooterBand> </ReportPage> </Report> The result of exporting the report from the example to Excel 2007: Note 1. Engine.CurPage increases after calling a new event, and since CurPage is the index of the page, its value will be 0 when creating the first two pages. Therefore, we recommend using a separate page counter in the report script when using the new event. Note 2. When changing the Visible property to false, the further building of the page stops. Thanks to the new property, you can move to a new data record line and modify the page properties as new pages are added.
March 26, 2024

How to work with FastReport Avalonia on .NET 8 in Visual Studio for Mac

Avalonia UI is a .NET-based framework widely used for cross-platform user interface development. With a universal API for building applications, Avalonia supports all major platforms and runtime environments and has its unique interface. This ensures that your business solutions will look identical on each operating system. FastReport Avalonia includes a powerful data processing core, a familiar report designer, and a viewer for ready-made reports. Additionally, the new product supports all export formats for the generated report, such as PDF, Excel, MS Word, and many others. The library is fully backward compatible with FastReport WPF, FastReport .NET, and FastReport Mono. It supports Avalonia UI, .NET 7, and .NET 8. In this article, we will explain in detail how to run FastReport Avalonia on the MacOS operating system using the Visual Studio IDE.   Preparatory stage First of all, we need to install Visual Studio for Mac. A specific version of Visual Studio is required for further work with Avalonia templates, namely 17.6.10. You can download it by following this link. It enables you to include .NET 8 support, which we will discuss a little later. The next step will be installing .NET 8 itself. For this, you can go to the official Microsoft website and download the installer for MacOS. After installing SDK 8.0, we need to configure Visual Studio. To work with .NET 8, we need to enable its usage in Visual Studio. To do this, right-click on Visual Studio and select "Preferences". In the opened window, scroll down to the bottom until you reach the "Preview Features" section and check the box next to the "Use the .NET 8 SDK..." option. Click "OK" and restart Visual Studio. After going through the above steps, we need to install Avalonia templates for further work. Once installed, we can choose ready-made templates in Visual Studio to streamline the development process. To do this, open the console and enter the following command: dotnet new install Avalonia.Templates Now we can start creating a project in Visual Studio.   Creating the Application Launch Visual Studio and create a new project. When selecting a template, scroll down to the "Other" group and choose "Custom." In the window, select the "Avalonia .NET app" template. These are the templates we installed using the console command. Click on Continue. Next, we need to configure the template. Choose the .NET and Avalonia versions. We recommend selecting Avalonia version 11.1.0-beta or higher, as many visual bugs have been fixed in this version. For our example, let's stick with .NET 8. Click on "Continue." Now, we have an Avalonia template project in Visual Studio. Next, we need to connect a private NuGet server where we can obtain Avalonia NuGet packages. To do this, right-click on our project and select "Manage NuGet Packages...". In the window that appears, at the very end, there is "Package source: All sources". Expand the list and click on "Configure Sources...". In the window that appears, click on "Add". A window for entering data will appear.- Name: source name without spaces (e.g., FastReport-Nuget);- Location: https://nuget.fast-report.com/api/v3/index.json;- Username: email from your Fast Reports account;- Password: password from your Fast Reports account. Once we have entered all the necessary data, we can close the window. Now, we have a private NuGet server that we can use. The next step is to add the required packages for the project, namely: FastReport.Avalonia and FastReport.Forms.Avalonia. To do this, in the NuGet Package window, select our private NuGet server as the package source. For convenience, we will type "Avalonia" in the search box to display packages with the corresponding name. Select the desired packages and install them. Now that we have configured the project, we can proceed with writing the code. Next, let's consider a simple example to demonstrate the functionality of the FastReport Avalonia packages. First, open the MainWindow.axaml.cs file and fill it in as follows: using Avalonia.Controls; using Avalonia.Interactivity; using FastReport; namespace FRAvalonia; public partial class MainWindow : Window { public MainWindow() { InitializeComponent(); } public void ButtonClicked(object source, RoutedEventArgs args) { Report report = new Report(); report.Load("Barcode.frx"); report.Design(); } } So far, we have simply added a method to handle the button and specified which report will be opened in the designer. Next, go to MainWindow.axaml and fill it in as follows: <Window xmlns="https://github.com/avaloniaui" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="450" x:Class="FRAvalonia.MainWindow" Title="FRAvalonia"> <Button Click="ButtonClicked" >Start Designer!</Button> </Window> Next, we add the button itself, which already has a handler assigned to it. Now, we can run the project. Upon running the project, a window with a button will appear. Click on the button and observe the magic as the FastReport Designer on Avalonia launches. Additionally, we can enable the preview mode and take a look at the report in the Preview. In this way, we managed to run FastReport Avalonia on MacOS using Visual Studio. As you can see, there is nothing complex about the setup and launch process. Just install the SDK packages, configure the private NuGet packages, and you can start using FastReport Avalonia. If you have any questions, please feel free to contact our technical support at support@fast-report.com. Enjoy using it!

Popular questions

What is a report generator?

Why do we need report generators and OLAP analytics tools?

What does Fast Reports Inc. do?

We are trusted

Fast Reports
  • 800-985-8986 (English, US)
  • +4930568373928 (German)
  • +55 19 98147-8148 (Portuguese)
  • info@fast-report.com
  • 901 N Pitt Str #325 Alexandria VA 22314

© 1998-2024 Fast Reports Inc.