Yes, for clients with an active subscription.
Yes, you can find it at: Technical Support Statement.
Users can send requests via email to support@fast-report.com, through the request form on the website from the client panel, or online chat
Yes, on a contractual basis.
Make sure that FastReport.Editor.dll, FastReport.VSDesign.dll, FastReport.Web and FastReport.dll are registered in the GAC (see the directories from p. 3). If not, register them.
For this open Visual studio tools folder(C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\Tools\Shortcuts), open Developer Command Prompt for..., and write on the command line
gacutil -i ""reference path+ name.dll""(gacutil -i ""Program Files\FastReports\FastReport.Net\Framework 4.0\FastReport.dll"").
Learn more about GAC registration.
After that, add the FastReport controls to the Visual Studio Toolbox: right-click on the toolbar -> Choose Items -> Select FastReport.dll from the GAC and click OK.
If you call the object's .Height property (Text1.Height), the result will be the height of the object in the report template. During report rendering, the height changes, and to determine the height of the object in the prepared report, you should use the CalcHeight method (Text1.CalcHeight()). The CalcWidth method is also used to calculate the length.
Ensure that the project has references to the required libraries (FastReport.dll, FastReport.Web.dll) set up. Check the .NET Framework version used by your project and the referenced library.
Use this code snippet:
Report report = new Report();
report.Load(...);
report.RegisterData(...);
report.Prepare();
PDFExport pdfExport = new PDFExport();
EmailExport export = new EmailExport();
// set up Account properties...
export.Account.Host = ""..."";
export.Account.Address = ""..."";
// set up email properties...
export.Address = ""..."";
export.Subject = ""..."";
export.MessageBody = ""..."";
// send email
export.Export = pdfExport;
export.SendEmail(report);
Add the "EnvironmentSettings" control to your form (Form).
Before calling report.Design()
, add the following lines:
EnvironmentSettings1.DesignerSettings.Restrictions.DontCreateData = True;
EnvironmentSettings1.DesignerSettings.Restrictions.DontEditData = True;
If you are using DesignerControl, then these lines:
designerControl1.Restrictions.DontCreateData = true;
designerControl1.Restrictions.DontEditData = true;
Create a new report:
Report report = new Report();
Add a CustomLoadEventHandler event to load a basic report:
report.LoadBaseReport += new
CustomLoadEventHandler(FReport_LoadBaseReport);
Load the inherited report:
report.Load(""InheritReport.frx"");
Delete CustomLoadEventHandler:
report.LoadBaseReport -= new CustomLoadEventHandler(FReport_LoadBaseReport);
Now you can show the report or open it in the designer. It will contain both the one that is inherited and the one that inherits the base report:
report.Show();
You also need to create an event to load the base report:
private void FReport_LoadBaseReport(object sender, CustomLoadEventArgs e)
{
// e.FileName contains the name of base report. It may be the file name, or an ID in the database,
// it depends on how you load the main report
e.Report.Load(""C:\\Users\\InheritReport\\bin\\Debug\\Title2.frx"");
}
And the full code:
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
Report report = new Report();
report.LoadBaseReport += new CustomLoadEventHandler(FReport_LoadBaseReport);
report.Load(""InheritReport.frx"");
report.LoadBaseReport -= new CustomLoadEventHandler(FReport_LoadBaseReport);
report.Show();
}
private void FReport_LoadBaseReport(object sender, CustomLoadEventArgs e)
{
// e.FileName contains the name of the base report. It may be the file name, or an ID in the database,
// it depends on how you load the main report
e.Report.Load(""C:\\Users\\InheritReport\\bin\\Debug\\Title2.frx"");
}
}
If you want to load a report from a database, replace the Load()
method with LoadFromString()
.
Add the ""EnvironmentSettings"" control to your Form.
Before calling report.Design()
, add the following line:
environmentSettings1.DesignerSettings.Restrictions.DontEditCode = true;
For this you should use WindowsFormsHost:
0) Add the link to FastReport.dll;
Add an attribute to the Window(Page) tag:
xmlns:fr=""clr-namespace:FastReport.Preview;assembly=FastReport"" if you want to use PreviewControl, xmlns:fr1=""clr-namespace:FastReport.Design;assembly=FastReport"" – if DesignerControl;
Add the WindowsFormsHost tag to your XAML markup:
```
Add a child tag to WindowsFormsHost:
fr:PreviewControl/fr:PreviewControl or fr1:Designer/fr1:Designer.
The full markup should look like this:
You can do this in the report script or in your project code using the following lines:
FastReport.Format.NumberFormat format = new FastReport.Format.NumberFormat();
format.UseLocale = false;
format.DecimalDigits = 2;
format.DecimalSeparator = ""."";
format.GroupSeparator = "","";
And set the created formatting for the text object (TextObject):
textObject.Formats.Clear();
textObject.Formats.Add(format);
First you need to create a System.Windows.Forms.DataVisualization.Charting.Series
object, which is the basic for Series in MSChartObject and draw a line in it. Then you need to assign the created series to the object, which is basic for MSChartObject (MSChart1.Chart.Series.Add(series)
Don't forget to include the System.Windows.Forms.DataVisualization.dll
library (in the Report-> Script menu) and the System.Windows.Forms.DataVisualization.Charting namespace.
Example of a line with breaks:
using System.Windows.Forms.DataVisualization.Charting;
namespace FastReport
{
public class ReportScript
{
private void MSChart1_BeforePrint(object sender, EventArgs e)
{
Series series = new Series(""sample"");
series.ChartType = SeriesChartType.Line;
series.BorderWidth = 2;
series.MarkerSize = 5;
series.Points.Add(new DataPoint(0, 1));
series.Points.Add(new DataPoint(1, 2));
DataPoint dp = new DataPoint(2, double.NaN);
dp.IsEmpty = true;
series.Points.Add(dp);
series.Points.Add(new DataPoint(3, 5));
series.Points.Add(new DataPoint(4, 8));
MSChart1.Chart.Series.Add(series);
}
}
}
As a result, we get the graph below:
Create a new MSChart object, set the height, width, and legend:
MSChartObject MSChart1 = new MSChartObject();
MSChart1.Width = 300;
MSChart1.Height = 300;
MSChart1.Chart.Legends.Add(new Legend() { Name = ""Legend1"", Title=""Legend title""});
Create a ChartArea object, set the name, axis titles and assign the created MSChart object:
ChartArea chartArea1 = new ChartArea();
chartArea1.Name = ""ChartArea1"";
chartArea1.Axes[0].Title = ""X name"";
chartArea1.Axes[1].Title = ""Y name"";
MSChart1.Chart.ChartAreas.Add(chartArea1);
Create a Series object, set the chart type, border thickness, add points, and assign the series to the chart:
Series series = new Series(""sample"");
series.ChartType = SeriesChartType.Line;
series.BorderWidth = 2;
series.Points.Add(new DataPoint(0, 1));
series.Points.Add(new DataPoint(1, 2));
series.Points.Add(new DataPoint(3, 5));
series.Points.Add(new DataPoint(4, 8));
MSChart1.Chart.Series.Add(series);
Assign the created MSChart to the DataBand report object:
Report report = new Report();
report.Load(""ok.frx"");
DataBand db = report.FindObject(""Data1"") as DataBand;
MSChart1.Parent = db;
And the full code snippet:
MSChartObject MSChart1 = new MSChartObject();
MSChart1.Width = 300;
MSChart1.Height = 300;
MSChart1.Chart.Legends.Add(new Legend() { Name = ""Legend1"", Title=""Legend title""});
ChartArea chartArea1 = new ChartArea();
chartArea1.Name = ""ChartArea1"";
chartArea1.Axes[0].Title = ""X name"";
chartArea1.Axes[1].Title = ""Y name"";
MSChart1.Chart.ChartAreas.Add(chartArea1);
Series series = new Series(""sample"");
series.ChartType = SeriesChartType.Line;
series.BorderWidth = 2;
series.Points.Add(new DataPoint(0, 1));
series.Points.Add(new DataPoint(1, 2));
series.Points.Add(new DataPoint(3, 5));
series.Points.Add(new DataPoint(4, 8));
MSChart1.Chart.Series.Add(series);
Report report = new Report();
report.Load(""ok.frx"");
DataBand db = report.FindObject(""Data1"") as DataBand;
MSChart1.Parent = db;
Result:
Write to us at support and we will send you the latest version available to you.
You can disable the window in EnvironmentSettings:
Report report = new Report();
report.LoadPrepared(""1.fpx"");
EnvironmentSettings s = new EnvironmentSettings();
s.ReportSettings.ShowProgress = false;
report.Show();
Delete the FastReport.config file from C:\Users""Your user's name""\AppData\Local\FastReport.
Use the following code for this:
Report.Dictionary.Connections[0].Tables[0].Parameters[0].Value.ToString();
Use this code snippet:
Report report = new Report();
report.LoadPrepared(""preparedreport.fpx"");
HTMLExport htmlExport = new HTMLExport()
{
SubFolder = false,
Navigator = false,
Pictures = true,
EmbedPictures = true,
SinglePage = true,
Layers = true,
HasMultipleFiles = false
};
EmailExport email = new EmailExport();
//email mailer settings
email.Account.Address = ""Email@gmail.com"";
email.Account.Name = ""Usename"";
email.Account.Host = ""smtp.yandex.ru"";
email.Account.Port = 25;
email.Account.UserName = ""Email"";
email.Account.Password = ""password"";
email.Account.MessageTemplate = ""Test"";
email.Account.EnableSSL = true;
//email addressee settings
email.Address = ""Destinationaddress@gmail.com"";
email.Subject = ""Embedding of html"";
email.Export = htmlExport; //Set export type
email.SendEmail(report); //Send email
If demos from the Demos\C#\Web folder do not launch, then to fix this you need to:
Restore NuGet packages; Add links to all necessary libraries from ""packages"";
Change the build versions to the current ones in the Web.Config files from the root directory and from Views.
Use the code below for this. For desktop version:
Report report = new Report();
report.Load(Path.GetFullPath(@""..\..\Report1.frx""));
report.Prepare(true);
report.Load(Path.GetFullPath(@""..\..\Report2.frx""));
report.Prepare(true);
report.Load(Path.GetFullPath(@""..\..\Report3.frx""));
report.Prepare(true);
report.ShowPrepared();
For web version:
webReport.Report.Load(Path.GetFullPath(@""..\..\Report1.frx""));
webReport.Report.Prepare(true);
webReport.Report.Load(Path.GetFullPath(@""..\..\Report2.frx""));
webReport.Report.Prepare(true);
webReport.Report.Load(Path.GetFullPath(@""..\..\Report3.frx""));
webReport.Report.Prepare(true);
webReport.ShowRefreshButton = false;
webReport.ReportDone = true;
Installing a report in resources:
Go to Visual Studio to the resources tab (Project -> Properties -> Resources); Set the name (report) and set the contents of the resource (the contents of the file myreport.frx); Calling a report from resources:
Report report = new Report();
report.ReportResourceString = Resources.report;
report.Show();
Use this code snippet:
Report report = new Report;
List<string> assmbly = new List<string>(report.ReferencedAssemblies);
assmbly.Add(""Newtonsoft.Json.dll""); //replace to your dll's name
report.ReferencedAssemblies = assmbly.ToArray();
Make sure that the added dll is in the same folder as FastReport.dll.
Now you can use methods from the connected dll. For example, you can add the following expression to the TextObject - [Newtonsoft.Json.ConstructorHandling.Default.ToString()].
Use this code snippet to make all tables from your data source (DataSet) available in the report:
foreach (FastReport.Data.DataSourceBase tbl in report.Dictionary.DataSources)
{
tbl.Enabled = true;
}
Then add all the relations from the DataSet:
for (int i = 0; i < ds.Relations.Count; i++)
{
report.RegisterData(ds.Relations[i], ""relation"" + i);
}
And enable all relations:
foreach (FastReport.Data.Relation rl in report.Dictionary.Relations)
{
rl.Enabled = true;
}
The full code:
Report report = new Report();
DataSet ds = new DataSet();
ds.ReadXml(""EstimateFile.xml"");
report.RegisterData(ds, ""ds"");
foreach (FastReport.Data.DataSourceBase tbl in report.Dictionary.DataSources)
{
tbl.Enabled = true;
}
for (int i = 0; i < ds.Relations.Count; i++)
{
report.RegisterData(ds.Relations[i], ""relation"" + i);
}
foreach (FastReport.Data.Relation rl in report.Dictionary.Relations)
{
rl.Enabled = true;
}
Yes, it is possible. You need to configure a network printer in the system.
Data sources are not transferred during the conversion.
You need to add an event handler BeforePrint to the band. There, check this value, if it is 0.00, then set the Visible property of the band to false. Additionally, you may need to set the height of the band to 0.
It depends on what DTOs are there. They can be passed as objects to the report as a data source. There is a similar example in the demo projects. In the [FastReport .NET]\Demos\C#\DataFromBusinessObject folder.
These libraries are necessary for the operation of our script in FastReport .NET. Removing them is not possible.
Yes.
It will not be possible to display the DataSet structure in the form of a tree, taking into account the relations between tables in it.
No, named expressions are not supported in FastReport .NET.
There is something similar, the Alias property.
You can use FastReport .NET and the Online Designer.
Yes, FastReport .NET can be used for this purpose.
Yes, it is possible.
Possibly through FastReport.Utils.RegisteredObjects.AddConnection()
Yes, see the Article
Yes. Download link
Yes. With the template designer, you can save templates in a number of formats, including .FR3. In the designer, select "Save As...", and in the save dialog, select "FastReport VCL report (.fr3)".
The FastReport .NET License is available at this link
Yes, FastReport .NET can be used with Online Designer. FastReport .NET Ultimate and WEB Online Designer packages already contain Online Designer. For other packages you will have to buy Online Designer separately.
The differences are presented in the table
Yes, it can be used in commercial development, as long as you comply with the EULA. See file LICENSE.md
If you are using our private nuget server, then you can choose the version you want there. You can also request the desired version from us.
Direct connection is not planned. Depending on your file, you may be able to convert it to another format, such as CSV, and FastReport will be able to use that format as a database.
Yes, see more in the article.
Yes.
Cassandra ClickHouse Couchbase ElasticSearch Excel Firebird Json Linter MongoDB MsSql MySql OracleODPCore Postgres RavenDB SQLite Databases compatible with the ones listed above are also supported. We are constantly improving our products, so the list is not exhaustive. If you contact our support, we will provide you with detailed information about compatibility with the database management system you are interested in.
It supports СlickHouse, but does not support Vertica.
Unlike FastReport Open Source, FastReport .NET exports to PDF not in image format, but in text.
Yes.
Yes.
Yes.
Yes.
Yes.
Yes.
RTF, Excel 2007, Excel 97, Word 2007, PowerPoint 2007, Open Office Calc, Open Office Writer, XML, XAML, LaTeX
See more in the article.
PostScript, PPML, ZPL, dot matrix printers.
PDF: 1.5 and 1.7, PDF / A (1, 2, 3), PDF / X (3, 4)
PDF: 1.5 and 1.7, PDF / A (1, 2, 3), PDF / X (3, 4); Office: RTF, Excel 2007, Excel 97, Word 2007, PowerPoint 2007, Open Office Calc, Open Office Writer, XML, XAML, LaTeX; Web: HTML, MHT; Graphics: BMP, PNG, GIF, JPEG, TIFF, EMF, SVG, DXF, PPML, PostScript; Data Base: CSV, DBF, Json; As well as: Text , ZPL, XPS.
Add components to the toolbox manually: Click ""Select items"" in the right-click menu hovered over the Visual Studio toolbar and select FastReport.dll from the GAC (C:\Windows\Microsoft.NET\assembly\GAC_MSIL\FastReport) folder.
We have decided to stop supporting the old framework and Visual Studio 2005. We have some difficulties with supporting different code snippets for legacy frameworks. If you continue to use the .NET Framework 2.0 in your applications, please email us or use .NET FastReport version 2020.2 or earlier.
We have prepared a universal solution to this question in the form of our private NuGet server Fast Reports. Read more about it in the next article.
If your subscription expires, you can continue to use the Fast Reports package source, but you will not have access to the latest versions of the packages. Therefore, the latest available version of the package will be determined by the condition:
The release date of the selected version < The expiration date of the eligible subscription
Important! If you try to download a package with a release date later than the end date of the eligible subscription, the Fast Reports NuGet server will return the most recent available version of the package according to your subscription. However, we do not recommend referencing an unavailable version of the package, as this leads to a Warning when restoring the project and delays the package download.
See more in this article.
You can, but they will look like a picture.
It is planned.
Yes.
Yes.
Yes.
You need to download the product installer in your client panel
Delete FastReport.NET Trial. Make sure that there are no .NET FastReport libraries in the C:\Windows\assembly and C:\Windows\Microsoft.NET\assembly\GAC_MSIL directories. If libraries were found, delete them. Install the full version of the program.
See more in this article.
No.
You can add the FastReport.NET designer for end-users without additional licensing. This means that you can add the report generator to the product without the source code and outside the development environment.
It can be found by following the link.
It can be found by following the link.
It can be found by following the link.
Here: Live ASP.NET demo
Here: Live ASP.NET MVC demo
Here: Online Designer demo
Here: Live .NET Core demo
Here: Blazor Server demo
You can see it here.
Upon request.
The "DEMO VERSION" label is put on each page, and random fields are replaced.
There is support for Skia.
No, these formats are only supported on Windows, while Skia is a cross-platform library
No, it is not planned.
Yes. See details of FastReport Avalonia.
Yes, we have FastReport WPF product.
Yes: both Server and WebAssembly.
Implemented. Read about it in this article.
No, it is not planned.
No, it is not planned.
No, it is not planned.
No, it is not planned.
ASP.NET, ASP.NET MVC, .NET Core, Blazor Server, Blazor WebAssembly
Yes, the designer is included in the product.
Now no, it is not planned. You can use the Web version.
Yes, FastReport .NET supports Linux in Ultimate, WEB, Avalonia, and Mono packages.
Visual Studio, Visual Studio Code, JetBrains Rider, as well as any other editors that support .NET
Hardware requirements: 1 GHz processor, 512 MB RAM Minimum disk space (32-bit or 64-bit OS): 20 MB Requires .NET support Minimum version .NET Framework: .NET Framework 4.6.2
Not now.
Yes, FastReport .NET Сore works on CentOS and Debian.
Blazor Hybrid is not supported. The Blazor, WASM, and Blazor Server platforms are supported now.
It is available, read about it in the article.