-
Notifications
You must be signed in to change notification settings - Fork 30
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #2 from fediachov/master
Initial Documentation Structure
- Loading branch information
Showing
33 changed files
with
420 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,49 @@ | ||
# Bands | ||
|
||
The band is an object which is located directly on the report page and is a container for other objects like "Text", "Picture" and others. | ||
|
||
In all, in FastReport there are 13 types of bands. Depending on its type, the band is printed in a certain place in the report. | ||
|
||
| Band | How it's printed | | ||
|:-|:-| | ||
| Report Title | It is printed once at the very beginning of the report. You can choose the order of printing - before the "Page Header" band or after it - with the help of the "TitleBeforeHeader" page property. Changing this property can be done with the help of "Properties" window. By default, property is equal to true, that is, report title is printed before page header. | | ||
| Report Summary | It is printed once at the end of the report, after the last data row, but before the "Page Footer" band. | | ||
| Page Header | It is printed on top of every page of the report. | | ||
| Page Footer | It is printed at the bottom of every page of the report. | | ||
| Column Header | This band is used when printing a multi-columned report (when the number of columns indicated in the page setup > 1). It is printed on top of every column after the Page Header band. | | ||
| Column Footer | Printed at the bottom of every column, before the Page Footer band. | | ||
| Data | This band is connected to the data source and is printed as many times as there are rows in the source. | | ||
| Data Header | This band is connected to the "Data" band and is printed before the first data row. | | ||
| Data Footer | This band is connected to the "Data" band and is printed after the last data row. | | ||
| Group Header | It is printed at the beginning of every group, when the value of the group condition changes. | | ||
| Group Footer | It is printed at the end of every group. | | ||
| Child | This band can be connected to any band, including another child band. It is printed immediately after its parent. | | ||
| Overlay | Printed as a background on every report page. | | ||
|
||
|
||
So, there are several bands placed on the page. How will FastReport compose a prepared report? Let us look at the following example: | ||
|
||
![](images/bandsequence.png) | ||
|
||
The "Report Title" band will be printed first. The "Page Header" band will be printed immediately after it. Further, the "Data" band will be printed as many times as there are rows in the data source, to which the band is connected. After all the rows of the "Data" band have been printed, the "Report Summary" band is printed and at the bottom of the page - the "Page Footer" band. Printing of the report ends with this. A prepared report will be looking something like this: | ||
|
||
![](images/bandsequenceresult.png) | ||
|
||
In the process of printing, FastReport checks if there is enough space on the current page of the prepared report, so that the band can be printed. If there isn’t enough space, the following occurs: | ||
|
||
- page footer is printed; | ||
- a new page is added; | ||
- page header is printed; | ||
- continues to print the band which did not fit on the previous page. | ||
|
||
Every band has several useful properties, which affect the printing process. | ||
|
||
| Property | Description | | ||
|:-|:-| | ||
| CanGrow, CanShrink | These properties determine whether a band can grow or shrink depending on the size of the objects contained in the band. If both properties are disabled, the band will always have the size specified in the designer. Read more about this in the "Report Creation" chapter. | | ||
| CanBreak | If the property is enabled, FastReport tries to print a part of the band’s contents on the available space, that is, "break" the band. Read more about this in the "Report Creation" chapter. | | ||
| StartNewPage | Printing a band with such property begins on a new page. This property is usually used when printing groups; that is, every group is printed on a new page. | | ||
| PrintOnBottom | A band with this property is printed at the bottom of the page, before the "Page Footer" band .This can be useful when printing certain documents, where the total sum is supposed to be printed at the bottom of the page. | | ||
| RepeatOnEveryPage | The bands - "Data Header", "Data Footer", "Group Header" and "Group Footer" - have got this property. This type of band will be printed on each new page, when data printing is being done. Read more about this in the "Report Creation" chapter. | | ||
|
||
[Next Page](ReportObjects.md) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,76 @@ | ||
# The Feature Comparison Table for FastReport Open Source, FastReport Core, FastReport .Net | ||
|
||
| Features | FastReport Open Source | FastReport Core | FastReport .Net | | ||
|:-|:-|:-|:-| | ||
| **Supported Projects** | | | | | ||
| WinForms Applications | | | + | | ||
| Console Applications | + | + | + | | ||
| ASP.NET ASPX (WebForms) Applications | | | + | | ||
| ASP.NET MVC Applications | + | + | + | | ||
| ASP.NET MVC SPA | + | + | + | | ||
| ASP.NET MVC PWA | + | + | + | | ||
| WCF Applications | | | + | | ||
| Web API Applications | + | + | + | | ||
| **Supported Operation Systems** | | ||
| Windows | + | + | + | | ||
| Windows Server | + | + | + | | ||
| Linux | + | + | | | ||
| MacOS | + | + | | | ||
| **Preview** | | ||
| In Application | | | + | | ||
| In Web browser | + | + | + | | ||
| In Viewer Application (for Windows) | + | + | + | | ||
| In FastReport Pages (Android) | + | + | + | | ||
| **Print** | | ||
| Printing on local or network printers with support of tray selection, duplex, scaling, copy names | | | + | | ||
| Print from Web browser | + | + | + | | ||
| Print from Web browser and PDF | | + | + | | ||
| **Output formats and delivery** | | ||
| Export in HTML, BMP, PNG, JPEG, GIF, TIFF, EMF | + | + | + | | ||
| Export in PDF, XLSX, DOCX, PPTX, ODS, ODT, RTF, Text, XPS, XML, XAML, PS, PPML, LaTeX, Json, Dbf, Csv, XLS (Biff8), SVG, ZPL | | + | + | | ||
| Save in prepared report FPX | + | + | + | | ||
| Sending reports by email, FTP | | | + | | ||
| Uploading in the clouds Box, Dropbox, GoogleDrive, OneDrive (SkyDrive) | | | + | | ||
| **Data Sources** | | ||
| XML, CSV, Json, MS SQL, Postgres, SQLite, Couchbase, MySQL, MongoDB, RavenDB, Oracle | + | + | + | | ||
| OLE DB, ODBC, Access | | | + | | ||
| Plugins for DB2, Firebird, NosDB, SharePoint, SqlAnywhere, SqlCe, VistaDB | | | + | | ||
| Application datasets, lists, arrays and business objects | + | + | + | | ||
| **Features and report objects** | | ||
| Internal report script C#, VB.NET | + | + | + | | ||
| Text, Picture, Line, Shape, Subreport, Table, Matrix, PolyLine, Polygon, Barcode, Checkbox, ZipCode, CellularText, LinearGauge, SimpleGauge, RadialGauge, SimpleProgressGauge, Html | + | + | + | | ||
| RichText, Map, SVG | | + | + | | ||
| Chart, Sparkline | | | + | | ||
| Dialogs | | | + | | ||
| Interactive Reports (clicks, hyperlinks, link on report, bookmarks, outline) | + | + | + | | ||
| **Report Designing** | | ||
| Designer Application (WinForms) | | | + | | ||
| Using with the Online Designer | + | + | + | | ||
| Designer in Application (for WinForms) | | | + | | ||
| **Report Templates Import** | | ||
| Crystal Reports | | | + | | ||
| SSRS RDL (RDLC) | | | + | | ||
| List&Label | | | + | | ||
| DevExpress | | | + | | ||
| **Localization** | | ||
| 29 languages | + | + | + | | ||
| **Integration** | | ||
| Visual Studio ToolBox | | | + | | ||
| Active Query Builder | | | + | | ||
| Steema TeeChart | | | + | | ||
| **Distribution** | | ||
| Packages in Nuget.org | + | + | | | ||
| Sources in Github | + | | | | ||
| Installation package | | + | + | | ||
| Sources in installation (Professional and Enterprise editions) | | + | + | | ||
|
||
## Remarks about FastReport Core | ||
|
||
FastReport Core sources and nupkg files are included in FastReport .Net Professional and Enterprise editions. FastReport Core Demo nupkg files are included in FastReport .Net Trial, Win, Win+Web editions. | ||
|
||
## Resources | ||
|
||
[FastReport Open Source](https://github.com/FastReports/FastReport) | ||
|
||
[FastReport .Net and FastReport Core home page](https://www.fast-report.com/en/product/fast-report-net/) | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,97 @@ | ||
# Creating a report by using code | ||
|
||
Let us consider how to create a report in code. | ||
|
||
``` | ||
Report report = new Report(); | ||
// register the "Products" table | ||
report.RegisterData(dataSet1.Tables["Products"], "Products"); | ||
// enable it to use in a report | ||
report.GetDataSource("Products").Enabled = true; | ||
// create A4 page with all margins set to 1cm | ||
ReportPage page1 = new ReportPage(); | ||
page1.Name = "Page1"; | ||
report.Pages.Add(page1); | ||
// create ReportTitle band | ||
page1.ReportTitle = new ReportTitleBand(); | ||
page1.ReportTitle.Name = "ReportTitle1"; | ||
// set its height to 1.5cm | ||
page1.ReportTitle.Height = Units.Centimeters * 1.5f; | ||
// create group header | ||
GroupHeaderBand group1 = new GroupHeaderBand(); | ||
group1.Name = "GroupHeader1"; | ||
group1.Height = Units.Centimeters * 1; | ||
// set group condition | ||
group1.Condition = "[Products.ProductName].Substring(0, 1)"; | ||
// add group to the page.Bands collection | ||
page1.Bands.Add(group1); | ||
// create group footer | ||
group1.GroupFooter = new GroupFooterBand(); | ||
group1.GroupFooter.Name = "GroupFooter1"; | ||
group1.GroupFooter.Height = Units.Centimeters * 1; | ||
// create DataBand | ||
DataBand data1 = new DataBand(); | ||
data1.Name = "Data1"; | ||
data1.Height = Units.Centimeters * 0.5f; | ||
// set data source | ||
data1.DataSource = report.GetDataSource("Products"); | ||
// connect databand to a group | ||
group1.Data = data1; | ||
// create "Text" objects | ||
// report title | ||
TextObject text1 = new TextObject(); | ||
text1.Name = "Text1"; | ||
// set bounds | ||
text1.Bounds = new RectangleF(0, 0, | ||
Units.Centimeters * 19, Units.Centimeters * 1); | ||
// set text | ||
text1.Text = "PRODUCTS"; | ||
// set appearance | ||
text1.HorzAlign = HorzAlign.Center; | ||
text1.Font = new Font("Tahoma", 14, FontStyle.Bold); | ||
// add it to ReportTitle | ||
page1.ReportTitle.Objects.Add(text1); | ||
// group | ||
TextObject text2 = new TextObject(); | ||
text2.Name = "Text2"; | ||
text2.Bounds = new RectangleF(0, 0, | ||
Units.Centimeters * 2, Units.Centimeters * 1); | ||
text2.Text = "[[Products.ProductName].Substring(0, 1)]"; | ||
text2.Font = new Font("Tahoma", 10, FontStyle.Bold); | ||
// add it to GroupHeader | ||
group1.Objects.Add(text2); | ||
// data band | ||
TextObject text3 = new TextObject(); | ||
text3.Name = "Text3"; | ||
text3.Bounds = new RectangleF(0, 0, | ||
Units.Centimeters * 10, Units.Centimeters * 0.5f); | ||
text3.Text = "[Products.ProductName]"; | ||
text3.Font = new Font("Tahoma", 8); | ||
// add it to DataBand | ||
data1.Objects.Add(text3); | ||
// group footer | ||
TextObject text4 = new TextObject(); | ||
text4.Name = "Text4"; | ||
text4.Bounds = new RectangleF(0, 0, | ||
Units.Centimeters * 10, Units.Centimeters * 0.5f); | ||
text4.Text = "Count: [CountOfProducts]"; | ||
text4.Font = new Font("Tahoma", 8, FontStyle.Bold); | ||
// add it to GroupFooter | ||
group1.GroupFooter.Objects.Add(text4); | ||
// add a total | ||
Total groupTotal = new Total(); | ||
groupTotal.Name = "CountOfProducts"; | ||
groupTotal.TotalType = TotalType.Count; | ||
groupTotal.Evaluator = data1; | ||
groupTotal.PrintOn = group1.Footer; | ||
// add it to report totals | ||
report.Dictionary.Totals.Add(groupTotal); | ||
// run the report | ||
report.Prepare(); | ||
... | ||
``` | ||
The prepared report looks as follows: | ||
|
||
![](images/CreateReportFromCode.png) | ||
|
||
[Next Page](Exporting.md) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
# Data | ||
|
||
|
||
[Next Page](Expressions.md) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
# Examples |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
# Exporting | ||
|
||
|
||
[Next Page](WebReports.md) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
# Expressions | ||
|
||
|
||
[Next Page](Script.md) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
# FastReport Designer Community Edition | ||
|
||
![FastReport Designer Community Edition](images/FastReportDesignerCE.png) | ||
|
||
[Next Page](FastReportOnlineDesigner.md) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
# FastReport Online Designer | ||
|
||
[Next Page](ReportTemplateFileStructure.md) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
# Fundamentals | ||
|
||
In this chapter we will learn the principles of working with a report in the FastReport. We will also take a close look at report elements such as report pages, bands, and report objects. | ||
|
||
[Next Page](Report.md) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,55 @@ | ||
## What is FastReport? | ||
|
||
FastReport provides open source report generator for .NET Core 2.x/.Net Framework 4.x. You can use the FastReport in MVC, Web API applications. | ||
|
||
[![Image of FastReport](images/FastReport-screenshot2-small.png)](images/FastReport-screenshot2.png) | ||
|
||
## Features | ||
|
||
FastReport is written in C# and it is compatible with .NET Standard 2.0 and higher. Extendable FastReport architecture allows creating your own objects, export filters, wizards and DB engines. | ||
|
||
[![Image of FastReport](images/FastReport-screenshot1-small.png)](images/FastReport-screenshot1.png) | ||
|
||
### Report Objects | ||
|
||
- FastReport is a band-oriented report generator. There are 13 types of bands available: Report Title, Report Summary, Page Header, Page Footer, Column Header, Column Footer, Data Header, Data, Data Footer, Group Header, Group Footer, Child and Overlay. In addition, sub-reports are fully supported. | ||
|
||
- A wide range of band types allows creating any kind of report: list, master-detail, group, multi-column, master-detail-detail and many more. | ||
|
||
- Wide range of available report objects : text, picture, line, shape, barcode, matrix, table, checkbox. | ||
|
||
- Reports can consist of several design pages, which allows reports to contain a cover, the data and a back cover, all in one file. | ||
|
||
- The Table object allows building a tabular report with variable number of rows and/or columns, just like in MS Excel. Aggregate functions are also available. | ||
|
||
- Powerful, fully configurable Matrix object that can be used to print pivot tables. | ||
|
||
- Report inheritance. For creating many reports with common elements such as titles, logos or footers you can place all the common elements in a base report and inherit all other reports from this base. | ||
|
||
### Data Sources | ||
|
||
- You can get data from XML, CSV, Json, MS SQL, MySql, Oracle, Postgres, MongoDB, Couchbase, RavenDB, SQLite. | ||
|
||
- FastReport has ability to get data from business objects of IEnumerable type. | ||
|
||
- Report can contain data sources (tables, queries, DB connections). | ||
|
||
- Thus you can not only use application-defined datasets but also connect to any database and use tables and queries directly within the report. | ||
|
||
### Internal Scriping | ||
|
||
FastReport has a built-in script engine that supports two .NET languages, C# and VB.NET. You can use all of the .NET power in your reports to perform complex data handling and much more. | ||
|
||
## Working with report templates | ||
|
||
You can make a report template in several ways: | ||
|
||
- Creating report from code. | ||
|
||
- Developing report template as XML file. | ||
|
||
- Using the FastReport Designer Community Edition. It can be downloaded from [Fast Reports home site](https://www.fast-report.com/). | ||
|
||
[![Image of FastReport](images/FastReport-screenshot3-small.png)](images/FastReport-screenshot3.png) | ||
|
||
[Next Page](Fundamentals.md) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,7 @@ | ||
Copyright (c) 2018 Fast Reports Inc | ||
|
||
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: | ||
|
||
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. | ||
|
||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1,46 @@ | ||
"# FastReport.Documentation" | ||
# FastReport Open Source Documentation | ||
|
||
## What is FastReport? | ||
|
||
FastReport provides open source report generator for .NET Core 2.x/.Net Framework 4.x. You can use the FastReport in MVC, Web API applications. FastReport Open Source is based on the FastReport.Net project. | ||
|
||
## About Repository | ||
|
||
Here is the FastReport Open Source Documentation. | ||
|
||
## Table of Contents | ||
|
||
### [Introduction](Introduction.md) | ||
|
||
### [Fundamentals](Fundamentals.md) | ||
#### [The Report](Report.md) | ||
#### [Report Pages](ReportPages.md) | ||
#### [Bands](Bands.md) | ||
#### [Report Objects](ReportObjects.md) | ||
|
||
### [Data](Data.md) | ||
|
||
### [Expressions](Expressions.md) | ||
|
||
### [Script](Script.md) | ||
|
||
### [Report Creation](ReportCreation.md) | ||
#### [FastReport Designer Community Edition](FastReportDesignerCommunityEdition.md) | ||
#### [FastReport Online Designer](FastReportOnlineDesigner.md) | ||
#### [Report Template File Structure](ReportTemplateFileStructure.md) | ||
#### [Creating a Report by Using Code](CreatingReportUsingCode.md) | ||
|
||
### [Exporting](Exporting.md) | ||
|
||
### [Web Reports](WebReport.md) | ||
|
||
### [APPENDIX I: Examples](Examples.md) | ||
### [APPENDIX II: Class Reference](https://fastreports.github.io/FastReport.Documentation/ClassReference/api/FastReport.html) | ||
### [APPENDIX III: The Feature Comparison Table for FastReport Open Source, FastReport Core, FastReport .Net](COMPARISON.md) | ||
|
||
## Links | ||
|
||
[FastReport Open Source](https://github.com/FastReports/FastReport "Click for visiting the FastReport Open Source GitHub") | ||
[FastReport .Net User's Manual](https://www.fast-report.com/public_download/html/UserManFrNET-en/index.html) | ||
|
||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,13 @@ | ||
# The Report | ||
|
||
The report building process can be represented as follows: | ||
|
||
![Report Engine](images/ReportEngine.png) | ||
|
||
Report template (later-Report) - this is, what we see in the Designer. Reports are saved in files with an extension .FRX. A Report can be created with the help of Designer or programmatically. | ||
|
||
Data can be any: this is data, defined in the program, or data from DBMS, for example, MS SQL. FastReport can also work with business-logic objects (later - business-objects). | ||
|
||
Prepared Report - this is what we see in the preview window (for Desktop application) or in web browser. Prepared report can be previewed, printed, saved in one of the supported formats (.png, jpg, .docx, .xlsx, .pdf and others). | ||
|
||
[Next Page](ReportPages.md) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
# Report Creation | ||
|
||
|
||
[Next Page](FastReportDesignerCommunityEdition.exe) |
Oops, something went wrong.