Show / Hide Table of Contents

Class Report

Represents a report object.

Inheritance
System.Object
Base
Report
Implements
IFRSerializable
IParent
ISupportInitialize
Inherited Members
Base.Flags
Base.Parent
Base.BaseName
Base.ClassName
Base.Report
Base.Page
Base.ChildObjects
Base.AllObjects
Base.ZOrder
Base.IsAncestor
Base.IsDesigning
Base.IsPrinting
Base.IsRunning
Base.OriginalComponent
Base.SetProp(Base, Base)
Base.FloatDiff(Single, Single)
Base.ExtractDefaultMacros(String)
Base.SetFlags(Flags, Boolean)
Base.SetReport(Report)
Base.SetName(String)
Base.SetParent(Base)
Base.SetParentCore(Base)
Base.CreateUniqueName()
Base.BaseAssign(Base)
Base.AssignAll(Base)
Base.HasParent(Base)
Base.HasFlag(Flags)
Base.HasRestriction(Restrictions)
Base.InvokeEvent(String, Object)
Base.OnAfterLoad()
Base.GetExpressions()
Base.GetCustomScript()
Base.ExtractMacros()
Base.IsHaveToConvert(Object)
Base.GetConvertedObjects()
Base.ForEachAllConvectedObjects(Object)
Namespace: FastReport
Assembly: FastReport.OpenSource.dll
Syntax
public class Report : Base, IFRSerializable, IParent, ISupportInitialize
Remarks

The instance of this class contains a report. Here are some common actions that can be performed with this object:

  • To load a report, use the Load(String) method or call static FromFile(String) method.
  • To save a report, call the Save(String) method.
  • To register application dataset for use it in a report, call one of the RegisterData methods.
  • To pass some parameter to a report, use the SetParameterValue(String, Object) method.
  • To design a report, call the method.
  • To run a report and preview it, call the method. Another way is to call the Prepare() method, then call the method.
  • To run a report and print it, call the method. Another way is to call the Prepare() method, then call the method.
  • To load/save prepared report, use one of the LoadPrepared and SavePrepared methods.
  • To set up some global properties, use the Config static class or component that you can use in the Visual Studio IDE.

The report consists of one or several report pages (pages of the ReportPage type) and/or dialog forms (pages of the type). They are stored in the Pages collection. In turn, each page may contain report objects. See the example below how to create a simple report in code.

Examples

This example shows how to create a report instance, load it from a file, register the application data, run and preview.

Report report = new Report();
report.Load("reportfile.frx");
report.RegisterData(application_dataset);
report.Show();

This example shows how to create simple report in code.

Report report = new Report();
// create the report page
ReportPage page = new ReportPage();
page.Name = "ReportPage1";
// set paper width and height. Note: these properties are measured in millimeters.
page.PaperWidth = 210;
page.PaperHeight = 297;
// add a page to the report
report.Pages.Add(page);
// create report title
page.ReportTitle = new ReportTitleBand();
page.ReportTitle.Name = "ReportTitle1";
page.ReportTitle.Height = Units.Millimeters * 10;
// create Text object and put it to the title
TextObject text = new TextObject();
text.Name = "Text1";
text.Bounds = new RectangleF(0, 0, Units.Millimeters * 100, Units.Millimeters * 5);
page.ReportTitle.Objects.Add(text);
// create data band
DataBand data = new DataBand();
data.Name = "Data1";
data.Height = Units.Millimeters * 10;
// add data band to a page
page.Bands.Add(data);

Constructors

Report()

Initializes a new instance of the Report class with default settings.

Declaration
public Report()

Properties

Aborted

Gets a value indicating that report execution was aborted.

Declaration
public bool Aborted { get; }
Property Value
Type Description
System.Boolean

AutoFillDataSet

Gets or sets a value indicating whether it is necessary to automatically fill DataSet registered with RegisterData call.

Declaration
public bool AutoFillDataSet { get; set; }
Property Value
Type Description
System.Boolean
Remarks

If this property is true (by default), FastReport will automatically fill the DataSet with data when you trying to run a report. Set it to false if you want to fill the DataSet by yourself.

BaseReport

Gets or sets the base report file name.

Declaration
public string BaseReport { get; set; }
Property Value
Type Description
System.String
Remarks

This property contains the name of a report file this report is inherited from. Note: setting this property to non-empty value will clear the report and load the base file into it.

Compressed

Gets or sets a value that specifies whether to compress the report file.

Declaration
public bool Compressed { get; set; }
Property Value
Type Description
System.Boolean
Remarks

The report file is compressed using the Gzip algorithm. So you can open the compressed report in any zip-compatible archiver.

ConvertNulls

Gets or sets a value indicating whether the null DB value must be converted to zero, false or empty string depending on the data column type.

Declaration
public bool ConvertNulls { get; set; }
Property Value
Type Description
System.Boolean
Remarks

This property is true by default. If you set it to false, you should check the DB value before you do something with it (for example, typecast it to any type, use it in a expression etc.)

Dictionary

Gets the report's data.

Declaration
public Dictionary Dictionary { get; set; }
Property Value
Type Description
Dictionary
Remarks

The dictionary contains all data items such as connections, data sources, parameters, system variables.

DoublePass

Gets or sets a value that specifies whether the report engine should perform the second pass.

Declaration
public bool DoublePass { get; set; }
Property Value
Type Description
System.Boolean
Remarks

Typically the second pass is necessary to print the number of total pages. It also may be used to perform some calculations on the first pass and print its results on the second pass.

Use the Engine.FirstPass, Engine.FinalPass properties to determine which pass the engine is performing now.

Engine

Gets a reference to the report engine.

Declaration
public ReportEngine Engine { get; }
Property Value
Type Description
ReportEngine
Remarks

This property can be used when report is running. In other cases it returns null.

FileName

Gets or sets the name of a file the report was loaded from.

Declaration
public string FileName { get; set; }
Property Value
Type Description
System.String
Remarks

This property is used to support the FastReport.Net infrastructure; typically you don't need to use it.

FinishReportEvent

Gets or sets a script event name that will be fired when the report is finished.

Declaration
public string FinishReportEvent { get; set; }
Property Value
Type Description
System.String

GraphicCache

Gets a reference to the graphics cache for this report.

Declaration
public GraphicCache GraphicCache { get; }
Property Value
Type Description
GraphicCache
Remarks

This property is used to support the FastReport.Net infrastructure. Do not use it directly.

HasDialogs

Gets a value indicating that this report contains dialog forms.

Declaration
public bool HasDialogs { get; }
Property Value
Type Description
System.Boolean

InitialPageNumber

Gets or sets the initial page number for PageN/PageNofM system variables.

Declaration
public int InitialPageNumber { get; set; }
Property Value
Type Description
System.Int32

MaxPages

Gets or sets the maximum number of generated pages in a prepared report.

Declaration
public int MaxPages { get; set; }
Property Value
Type Description
System.Int32
Remarks

Use this property to limit the number of pages in a prepared report.

Name

This property is not relevant to this class.

Declaration
public string Name { get; }
Property Value
Type Description
System.String

NeedRefresh

Gets or sets the flag for refresh.

Declaration
public bool NeedRefresh { get; set; }
Property Value
Type Description
System.Boolean

Operation

Gets the report operation that is currently performed.

Declaration
public ReportOperation Operation { get; }
Property Value
Type Description
ReportOperation

Pages

Gets the pages contained in this report.

Declaration
public PageCollection Pages { get; }
Property Value
Type Description
PageCollection
Remarks

This property contains pages of all types (report and dialog). Use the is/as operators if you want to work with pages of ReportPage type.

Examples

The following code demonstrates how to access the first report page:

ReportPage page1 = report1.Pages[0] as ReportPage;

Parameters

Gets the collection of report parameters.

Declaration
public ParameterCollection Parameters { get; }
Property Value
Type Description
ParameterCollection
Remarks

Parameters are displayed in the "Data" window under the "Parameters" node.

Typical use of parameters is to pass some static data from the application to the report. You can print such data, use it in the data row filter, script etc.

Another way to use parameters is to define some reusable piece of code, for example, to define an expression that will return the concatenation of first and second employee name. In this case, you set the parameter's Expression property to something like this: [Employees.FirstName] + " " + [Employees.LastName]. Now this parameter may be used in the report to print full employee name. Each time you access such parameter, it will calculate the expression and return its value.

You can create nested parameters. To do this, add the new Parameter to the Parameters collection of the root parameter. To access the nested parameter, you may use the GetParameter(String) method.

To get or set the parameter's value, use the GetParameterValue(String) and SetParameterValue(String, Object) methods. To set the parameter's expression, use the GetParameter(String) method that returns a Parameter object and set its Expression property.

Password

Gets or sets the report password.

Declaration
public string Password { get; set; }
Property Value
Type Description
System.String
Remarks

When you try to load the password-protected report, you will be asked for a password. You also may specify the password in this property before loading the report. In this case the report will load silently.

Password-protected report file is crypted using Rijndael algorithm. Do not forget your password! It will be hard or even impossible to open the protected file in this case.

PreparedPages

Gets a pages of the prepared report.

Declaration
public PreparedPages PreparedPages { get; }
Property Value
Type Description
PreparedPages

ReferencedAssemblies

Gets or sets an array of assembly names that will be used to compile the report script.

Declaration
public string[] ReferencedAssemblies { get; set; }
Property Value
Type Description
System.String[]
Remarks

By default this property contains the following assemblies: "System.dll", "System.Drawing.dll", "System.Windows.Forms.dll", "System.Data.dll", "System.Xml.dll". If your script uses some types from another assemblies, you have to add them to this property.

ReportInfo

Gets or sets the report information such as report name, author, description etc.

Declaration
public ReportInfo ReportInfo { get; set; }
Property Value
Type Description
ReportInfo

ReportResourceString

Gets or sets the resource string that contains the report.

Declaration
public string ReportResourceString { get; set; }
Property Value
Type Description
System.String
Remarks

This property is used by the MS Visual Studio to store the report. Do not use it directly.

Restrictions

This property is not relevant to this class.

Declaration
public Restrictions Restrictions { get; set; }
Property Value
Type Description
Restrictions

ScriptLanguage

Gets or sets the script language of this report.

Declaration
public Language ScriptLanguage { get; set; }
Property Value
Type Description
Language
Remarks

Note: changing this property will reset the report script to default empty script.

ScriptRestrictions

Gets or sets a set of permissions that will be restricted for the script code.

Declaration
public PermissionSet ScriptRestrictions { get; set; }
Property Value
Type Description
System.Security.PermissionSet
Remarks

Since the report script is compiled into .NET assembly, it allows you to do ANYTHING. For example, you may create a script that will read/write files from/to a disk. This property is used to restrict such operations. This example shows how to restrict the file IO operations in a script:

using System.Security;
using System.Security.Permissions;
...
PermissionSet ps = new PermissionSet(PermissionState.None);
ps.AddPermission(new FileIOPermission(PermissionState.Unrestricted));
report1.ScriptRestrictions = ps;
report1.Prepare();

ScriptText

Gets or sets the report script.

Declaration
public string ScriptText { get; set; }
Property Value
Type Description
System.String
Remarks

The script contains the ReportScript class that contains all report objects' event handlers and own items such as private fields, properties, methods etc. The script contains only items written by you. Unlike other report generators, the script does not contain report objects declarations, initialization code. It is added automatically when you run the report.

By default this property contains an empty script text. You may see it in the designer when you switch to the Code window.

If you set this property programmatically, you have to declare the FastReport namespace and the ReportScript class in it. Do not declare report items (such as bands, objects, etc) in the ReportScript class: the report engine does this automatically when you run the report.

Security note: since the report script is compiled into .NET assembly, it allows you to do ANYTHING. For example, you may create a script that will read/write files from/to a disk. To restrict such operations, use the ScriptRestrictions property.

SmoothGraphics

Gets or sets a value that specifies if the graphic objects such as bitmaps and shapes should be displayed smoothly.

Declaration
public bool SmoothGraphics { get; set; }
Property Value
Type Description
System.Boolean

StartReportEvent

Gets or sets a script event name that will be fired when the report starts.

Declaration
public string StartReportEvent { get; set; }
Property Value
Type Description
System.String

StoreInResources

Gets or sets a value that determines whether to store the report in the application resources. Use this property in the MS Visual Studio IDE only.

Declaration
public bool StoreInResources { get; set; }
Property Value
Type Description
System.Boolean
Remarks

By default this property is true. When set to false, you should store your report in a file.

Styles

Gets or sets the collection of styles used in this report.

Declaration
public StyleCollection Styles { get; set; }
Property Value
Type Description
StyleCollection

TextQuality

Gets or sets a value that specifies the quality of text rendering.

Declaration
public TextQuality TextQuality { get; set; }
Property Value
Type Description
TextQuality
Remarks

Note: the default property value is TextQuality.Default. That means the report may look different depending on OS settings. This property does not affect the printout.

UseFileCache

Gets or sets a value that specifies whether to use the file cache rather than memory to store the prepared report pages.

Declaration
public bool UseFileCache { get; set; }
Property Value
Type Description
System.Boolean

Methods

Abort()

Aborts the report execution.

Declaration
public void Abort()

AddChild(Base)

Adds a child object to this object's childs.

Declaration
public void AddChild(Base obj)
Parameters
Type Name Description
Base obj

ApplyStyles()

Updates the report component's styles.

Declaration
public void ApplyStyles()
Remarks

Call this method if you change the Styles collection.

Assign(Base)

Copies the contents of another, similar object.

Declaration
public override void Assign(Base source)
Parameters
Type Name Description
Base source

Source object to copy the contents from.

Overrides
Base.Assign(Base)
Remarks

Call Assign to copy the properties from another object of the same type. The standard form of a call to Assign is

destination.Assign(source);

which tells the destination object to copy the contents of the source object to itself. In this method, all child objects are ignored. If you want to copy child objects, use the AssignAll(Base) method.

See Also
AssignAll(Base)

BeginInit()

Declaration
public void BeginInit()

Calc(String)

Calculates an expression and returns the result.

Declaration
public object Calc(string expression)
Parameters
Type Name Description
System.String expression

The expression to calculate.

Returns
Type Description
System.Object

If report is running, returns the result of calculation. Otherwise returns null.

Remarks

The expression may be any valid expression such as "1 + 2". The expression is calculated in the report script's ReportScript class instance context, so you may refer to any objects available in this context: private fields, methods, report objects.

Calc(String, Variant)

Calculates an expression and returns the result.

Declaration
public object Calc(string expression, Variant value)
Parameters
Type Name Description
System.String expression

The expression to calculate.

Variant value

The value of currently printing object.

Returns
Type Description
System.Object

If report is running, returns the result of calculation. Otherwise returns null.

Remarks

Do not call this method directly. Use the Calc(string expression) method instead.

CalcExpression(String, Variant)

Returns an expression value.

Declaration
protected virtual object CalcExpression(string expression, Variant value)
Parameters
Type Name Description
System.String expression

The expression.

Variant value

The value of currently printing object.

Returns
Type Description
System.Object

Returns the result of calculation.

Remarks

This method is for internal use only, do not call it directly.

CanContain(Base)

Gets a value indicating that this object can contain the specified child object.

Declaration
public bool CanContain(Base child)
Parameters
Type Name Description
Base child

Child object.

Returns
Type Description
System.Boolean

true if this object can contain the specified child object; otherwise, false.

Clear()

Clears the object's state.

Declaration
public override void Clear()
Overrides
Base.Clear()
Remarks

This method also disposes all object's children.

Deserialize(FRReader)

Deserializes the object.

Declaration
public override void Deserialize(FRReader reader)
Parameters
Type Name Description
FRReader reader

Reader object.

Overrides
Base.Deserialize(FRReader)
Remarks

Do not call this method directly. You should override it if you are developing a new component for FastReport.

This method is called when the object needs to restore the state. It may happen when:

  • loading the report from a file or stream;
  • loading the report from the designer's undo buffer;
  • assigning another object to this object using the Assign(Base) or AssignAll(Base) methods;
  • loading the object from the designer's clipboard;

DeserializeSubItems(FRReader)

Deserializes nested object properties.

Declaration
protected override void DeserializeSubItems(FRReader reader)
Parameters
Type Name Description
FRReader reader

Reader object.

Overrides
Base.DeserializeSubItems(FRReader)
Remarks

Typically the object serializes all properties to the single xml item:

<TextObject Name="Text2" Left="18.9" Top="37.8" Width="283.5" Height="28.35"/>

Some objects like DataBand have child objects that serialized in subitems:

<DataBand Name="Data1" Top="163" Width="718.2" Height="18.9">
  <TextObject Name="Text3" Left="18.9" Top="37.8" Width="283.5" Height="28.35"/>
</DataBand>

To read such subitems, the DeserializeSubItems method is used. Base implementation reads the child objects. You may override it to read some specific subitems.

Dispose(Boolean)

Declaration
protected override void Dispose(bool disposing)
Parameters
Type Name Description
System.Boolean disposing
Overrides
Base.Dispose(Boolean)

EndInit()

Declaration
public void EndInit()

EnsureInit()

Ensure that static constructor is called.

Declaration
public static void EnsureInit()

Export(ExportBase, Stream)

Exports a report. Report should be prepared using the Prepare() method.

Declaration
public void Export(ExportBase export, Stream stream)
Parameters
Type Name Description
ExportBase export

The export filter.

System.IO.Stream stream

Stream to save export result to.

Export(ExportBase, String)

Exports a report. Report should be prepared using the Prepare() method.

Declaration
public void Export(ExportBase export, string fileName)
Parameters
Type Name Description
ExportBase export

The export filter.

System.String fileName

File name to save export result to.

FindObject(String)

Searches for an object with given name.

Declaration
public override Base FindObject(string name)
Parameters
Type Name Description
System.String name

Name of the object to find.

Returns
Type Description
Base

Returns a null reference if object is not found

Overrides
Base.FindObject(String)

FromFile(String)

Creates the report instance and loads the report from a file.

Declaration
public static Report FromFile(string fileName)
Parameters
Type Name Description
System.String fileName

The name of the file to load from.

Returns
Type Description
Report

The new report instance.

FromStream(Stream)

Creates the report instance and loads the report from a stream.

Declaration
public static Report FromStream(Stream stream)
Parameters
Type Name Description
System.IO.Stream stream

The stream to load from.

Returns
Type Description
Report

The new report instance.

FromString(String)

Creates the report instance and loads the report from a string.

Declaration
public static Report FromString(string utf8String)
Parameters
Type Name Description
System.String utf8String

The string that contains a stream in UTF8 encoding.

Returns
Type Description
Report

The new report instance.

GenerateReportAssembly(String)

Generates the file (.cs or .vb) that contains the report source code.

Declaration
public void GenerateReportAssembly(string fileName)
Parameters
Type Name Description
System.String fileName

Name of the file.

Remarks

Use this method to generate the report source code. This code can be attached to your project. In this case, you will need to call the following code to run a report:

SimpleListReport report = new SimpleListReport();
report.RegisterData(your_dataset);
report.Show();

GetChildObjects(ObjectCollection)

Gets a list of child objects.

Declaration
public void GetChildObjects(ObjectCollection list)
Parameters
Type Name Description
ObjectCollection list

List to fill with values.

GetChildOrder(Base)

Returns z-order of the specified child object.

Declaration
public virtual int GetChildOrder(Base child)
Parameters
Type Name Description
Base child

Child object.

Returns
Type Description
System.Int32

Z-order of the specified object.

Remarks

This method must return the index of a specified child object in the internal child list.

GetColumnValue(String)

Gets the data column's value. Automatically converts null value to 0, false or "" depending on the column type.

Declaration
public object GetColumnValue(string complexName)
Parameters
Type Name Description
System.String complexName

The name of the data column including the datasource name.

Returns
Type Description
System.Object

If report is running, returns the column value. Otherwise returns null.

Remarks

The return value of this method does not depend on the ConvertNulls property.

Examples
string employeeName = (string)report.GetColumnValue("Employees.FirstName");

GetColumnValueNullable(String)

Gets the data column's value. This method does not convert null values.

Declaration
public object GetColumnValueNullable(string complexName)
Parameters
Type Name Description
System.String complexName

The name of the data column including the datasource name.

Returns
Type Description
System.Object

If report is running, returns the column value. Otherwise returns null.

GetDataSource(String)

Gets the datasource with specified name.

Declaration
public DataSourceBase GetDataSource(string alias)
Parameters
Type Name Description
System.String alias

Alias name of a datasource.

Returns
Type Description
DataSourceBase

The datasource object if found, otherwise null.

GetParameter(String)

Gets the report parameter with given name.

Declaration
public Parameter GetParameter(string complexName)
Parameters
Type Name Description
System.String complexName

The name of the parameter.

Returns
Type Description
Parameter

The Parameter object if found, otherwise null.

Remarks

To find nested parameter, use the "." separator: "MainParameter.NestedParameter"

GetParameterValue(String)

Gets a value of the parameter with given name.

Declaration
public object GetParameterValue(string complexName)
Parameters
Type Name Description
System.String complexName

The name of the parameter.

Returns
Type Description
System.Object

The parameter's value if found, otherwise null.

Remarks

To find nested parameter, use the "." separator: "MainParameter.NestedParameter"

GetTotalValue(String)

Gets a value of the total with specified name.

Declaration
public Variant GetTotalValue(string name)
Parameters
Type Name Description
System.String name

Name of total.

Returns
Type Description
Variant

The total's value if found, otherwise 0.

Remarks

This method converts null values to 0 if the ConvertNulls property is set to true. Use the GetTotalValueNullable(String) method if you don't want the null conversion.

GetTotalValueNullable(String)

Gets a value of the total with specified name.

Declaration
public Variant GetTotalValueNullable(string name)
Parameters
Type Name Description
System.String name

Name of total.

Returns
Type Description
Variant

The total's value if found, otherwise null.

GetVariableValue(String)

Gets a value of the system variable with specified name.

Declaration
public object GetVariableValue(string complexName)
Parameters
Type Name Description
System.String complexName

Name of a variable.

Returns
Type Description
System.Object

The variable's value if found, otherwise null.

InteractiveRefresh()

Refresh prepared report after intercative actions.

Declaration
public void InteractiveRefresh()

InternalInit()

Initializes the report's fields.

Declaration
protected void InternalInit()
Remarks

This method is for internal use only.

InvokeEvent(String, Object[])

Invokes the script event handler with given name.

Declaration
public void InvokeEvent(string name, object[] parms)
Parameters
Type Name Description
System.String name

The name of the script method.

System.Object[] parms

The method parameters.

Load(Stream)

Loads report from a stream.

Declaration
public void Load(Stream stream)
Parameters
Type Name Description
System.IO.Stream stream

The stream to load from.

Remarks

When you try to load the password-protected report, you will be asked for a password. You also may specify the password in the Password property before loading the report. In this case the report will load silently.

Load(String)

Loads the report from a file.

Declaration
public void Load(string fileName)
Parameters
Type Name Description
System.String fileName

The name of the file to load from.

Remarks

When you try to load the password-protected report, you will be asked for a password. You also may specify the password in the Password property before loading the report. In this case the report will load silently.

LoadFromString(String)

Loads the report from a string.

Declaration
public void LoadFromString(string s)
Parameters
Type Name Description
System.String s

The string that contains a stream in UTF8 or Base64 encoding.

LoadPrepared(Stream)

Loads the prepared report from a .fpx file.

Declaration
public void LoadPrepared(Stream stream)
Parameters
Type Name Description
System.IO.Stream stream

Stream to load from.

LoadPrepared(String)

Loads the prepared report from a .fpx file.

Declaration
public void LoadPrepared(string fileName)
Parameters
Type Name Description
System.String fileName

File name to load form.

OnFinishReport(EventArgs)

This method fires the FinishReport event and the script code connected to the FinishReportEvent.

Declaration
public void OnFinishReport(EventArgs e)
Parameters
Type Name Description
System.EventArgs e

OnStartReport(EventArgs)

This method fires the StartReport event and the script code connected to the StartReportEvent.

Declaration
public void OnStartReport(EventArgs e)
Parameters
Type Name Description
System.EventArgs e

PostNameProcess(String, Int32)

Create name for all unnamed elements with prefix and start with number

Declaration
public void PostNameProcess(string prefix, int number)
Parameters
Type Name Description
System.String prefix

Prefix for name

System.Int32 number

Number from which to start

Prepare()

Prepares the report.

Declaration
public bool Prepare()
Returns
Type Description
System.Boolean

true if report was prepared succesfully.

Prepare(Boolean)

Prepares the report.

Declaration
public bool Prepare(bool append)
Parameters
Type Name Description
System.Boolean append

Specifies whether the new report should be added to a report that was prepared before.

Returns
Type Description
System.Boolean

true if report was prepared succesfully.

Remarks

Use this method to merge prepared reports.

Examples

This example shows how to merge two reports and preview the result:

Report report = new Report();
report.Load("report1.frx");
report.Prepare();
report.Load("report2.frx");
report.Prepare(true);
report.ShowPrepared();

PreparePage(ReportPage)

Prepare page

Declaration
public void PreparePage(ReportPage page)
Parameters
Type Name Description
ReportPage page

PreparePhase1()

For internal use only.

Declaration
public void PreparePhase1()

PreparePhase2()

For internal use only.

Declaration
public void PreparePhase2()

Refresh()

Refresh the current report.

Declaration
public void Refresh()
Remarks

Call this method in the Click or MouseUp event handler of a report object to refresh the currently previewed report. Report will be generated again, but without dialog forms.

RegisterData(DataRelation, String)

Registers the application data relation to use it in the report.

Declaration
public void RegisterData(DataRelation data, string name)
Parameters
Type Name Description
DataRelation data

The application data.

System.String name

The name of the data.

Remarks

You may specify any value for the name parameter: it is not displayed anywhere in the designer and used only to load/save a report. The name must be persistent and unique for each registered relation.

Examples
report1.Load("report.frx");
report1.RegisterData(myDataRelation, "myRelation");

RegisterData(DataSet)

Registers the application dataset with all its tables and relations to use it in the report.

Declaration
public void RegisterData(DataSet data)
Parameters
Type Name Description
DataSet data

The application data.

Remarks

If you register more than one dataset, use the RegisterData(DataSet, String) method.

Examples
report1.Load("report.frx");
report1.RegisterData(dataSet1);

RegisterData(DataSet, Boolean)

Registers the application dataset with all its tables and relations to use it in the report and enables all its tables.

Declaration
public void RegisterData(DataSet data, bool enableAllTables)
Parameters
Type Name Description
DataSet data

The application data.

System.Boolean enableAllTables

The boolean value indicating whether all tables should be enabled.

Remarks

If you register more than one dataset, use the RegisterData(DataSet, String) method.

Examples
report1.Load("report.frx");
report1.RegisterData(dataSet1, true);

RegisterData(DataSet, String)

Registers the application dataset with specified name.

Declaration
public void RegisterData(DataSet data, string name)
Parameters
Type Name Description
DataSet data

The application data.

System.String name

The name of the data.

Remarks

Use this method if you register more than one dataset. You may specify any value for the name parameter: it is not displayed anywhere in the designer and used only to load/save a report. The name must be persistent and unique for each registered dataset.

Examples
report1.Load("report.frx");
report1.RegisterData(dataSet1, "NorthWind");

RegisterData(DataSet, String, Boolean)

Registers the application dataset with specified name and enables all its tables.

Declaration
public void RegisterData(DataSet data, string name, bool enableAllTables)
Parameters
Type Name Description
DataSet data

The application data.

System.String name

The name of the data.

System.Boolean enableAllTables

The boolean value indicating whether all tables should be enabled.

Remarks

Use this method if you register more than one dataset. You may specify any value for the name parameter: it is not displayed anywhere in the designer and used only to load/save a report. The name must be persistent and unique for each registered dataset.

Examples
report1.Load("report.frx");
report1.RegisterData(dataSet1, "NorthWind", true);

RegisterData(DataTable, String)

Registers the application data table to use it in the report.

Declaration
public void RegisterData(DataTable data, string name)
Parameters
Type Name Description
DataTable data

The application data.

System.String name

The name of the data.

Examples
report1.Load("report.frx");
report1.RegisterData(dataSet1.Tables["Orders"], "Orders");

RegisterData(DataView, String)

Registers the application data view to use it in the report.

Declaration
public void RegisterData(DataView data, string name)
Parameters
Type Name Description
DataView data

The application data.

System.String name

The name of the data.

Examples
report1.Load("report.frx");
report1.RegisterData(myDataView, "OrdersView");

RegisterData(IBaseCubeLink, String)

Registers the application cube link to use it in the report.

Declaration
public void RegisterData(IBaseCubeLink data, string name)
Parameters
Type Name Description
IBaseCubeLink data

The application data.

System.String name

The name of the data.

Examples
report1.Load("report.frx");
report1.RegisterData(myCubeLink, "Orders");

RegisterData(IEnumerable, String)

Registers the application business object to use it in the report.

Declaration
public void RegisterData(IEnumerable data, string name)
Parameters
Type Name Description
System.Collections.IEnumerable data

Application data.

System.String name

Name of the data.

Examples
report1.Load("report.frx");
report1.RegisterData(myBusinessObject, "Customers");

RegisterData(IEnumerable, String, BOConverterFlags, Int32)

Obsolete. Registers the application business object to use it in the report.

Declaration
public void RegisterData(IEnumerable data, string name, BOConverterFlags flags, int maxNestingLevel)
Parameters
Type Name Description
System.Collections.IEnumerable data

Application data.

System.String name

Name of the data.

BOConverterFlags flags

Not used.

System.Int32 maxNestingLevel

Maximum nesting level of business objects.

Remarks

This method is obsolete. Use the RegisterData(IEnumerable, String) method instead.

RegisterData(IEnumerable, String, Int32)

Registers the application business object to use it in the report.

Declaration
public void RegisterData(IEnumerable data, string name, int maxNestingLevel)
Parameters
Type Name Description
System.Collections.IEnumerable data

Application data.

System.String name

Name of the data.

System.Int32 maxNestingLevel

Maximum nesting level of business objects.

Remarks

This method creates initial datasource with specified nesting level. It is useful if you create a report in code. In most cases, you don't need to specify the nesting level because it may be selected in the designer's "Choose Report Data" dialog.

RemoveChild(Base)

Removes a specified object from this object's childs.

Declaration
public void RemoveChild(Base obj)
Parameters
Type Name Description
Base obj

Save(Stream)

Saves the report to a stream.

Declaration
public void Save(Stream stream)
Parameters
Type Name Description
System.IO.Stream stream

The stream to save to.

Save(String)

Saves the report to a file.

Declaration
public void Save(string fileName)
Parameters
Type Name Description
System.String fileName

The name of the file to save to.

SavePrepared(Stream)

Saves the prepared report. Report should be prepared using the Prepare() method.

Declaration
public void SavePrepared(Stream stream)
Parameters
Type Name Description
System.IO.Stream stream

Stream to save to.

SavePrepared(String)

Saves the prepared report. Report should be prepared using the Prepare() method.

Declaration
public void SavePrepared(string fileName)
Parameters
Type Name Description
System.String fileName

File name to save to.

SaveToString()

Saves the report to a string.

Declaration
public string SaveToString()
Returns
Type Description
System.String

The string that contains a stream.

SaveToStringBase64()

Saves the report to a string using the Base64 encoding.

Declaration
public string SaveToStringBase64()
Returns
Type Description
System.String

The string that contains a stream.

Serialize(FRWriter)

Serializes the object.

Declaration
public override void Serialize(FRWriter writer)
Parameters
Type Name Description
FRWriter writer

Writer object.

Overrides
Base.Serialize(FRWriter)
Remarks

Do not call this method directly. You should override it if you are developing a new component for FastReport.

This method is called when the object needs to save the state. It may happen when:

  • saving the report to the file or stream;
  • saving the report to the designer's undo buffer;
  • assigning the object to another object using the Assign(Base) or AssignAll(Base) methods;
  • saving the object to the designer's clipboard;
  • saving the object to the preview (when run a report).

SetChildOrder(Base, Int32)

Sets the z-order of the specified object.

Declaration
public virtual void SetChildOrder(Base child, int order)
Parameters
Type Name Description
Base child

Child object.

System.Int32 order

New Z-order.

Remarks

This method must place the specified child object at the specified position in the internal child list.

SetParameterValue(String, Object)

Sets the parameter's value.

Declaration
public void SetParameterValue(string complexName, object value)
Parameters
Type Name Description
System.String complexName

The name of the parameter.

System.Object value

Value to set.

Remarks

Use this method to pass a value to the parameter that you've created in the "Data" window. Such parameter may be used everythere in a report; for example, you can print its value or use it in expressions.

You should call this method after the report was loaded and before you run it.

To access a nested parameter, use the "." separator: "MainParameter.NestedParameter"

caution

This method will create the parameter if it does not exist.

Examples

This example shows how to pass a value to the parameter with "MyParam" name:

// load the report
report1.Load("report.frx");
// setup the parameter
report1.SetParameterValue("MyParam", 10);
// show the report
report1.Show();

SetPreparedPages(PreparedPages)

Sets prepared pages.

Declaration
public void SetPreparedPages(PreparedPages pages)
Parameters
Type Name Description
PreparedPages pages

UpdateLayout(Single, Single)

Updates the children layout when the size of this object is changed by dx, dy values.

Declaration
public virtual void UpdateLayout(float dx, float dy)
Parameters
Type Name Description
System.Single dx

X delta.

System.Single dy

Y delta.

Remarks

This method must update positions/sizes of child objects whose Dock or Anchor properties are set to non-default values.

Events

CustomCalc

Occurs when calc execution is started.

Declaration
public event CustomCalcEventHandler CustomCalc
Event Type
Type Description
CustomCalcEventHandler

FinishReport

Occurs when report execution is finished.

Declaration
public event EventHandler FinishReport
Event Type
Type Description
System.EventHandler

LoadBaseReport

Occurs when report is inherited and trying to load a base report.

Declaration
public event CustomLoadEventHandler LoadBaseReport
Event Type
Type Description
CustomLoadEventHandler
Remarks

Typical use of this event is to load the base report from a database instead of a file.

StartReport

Occurs when report execution is started.

Declaration
public event EventHandler StartReport
Event Type
Type Description
System.EventHandler

Implements

IFRSerializable
IParent
ISupportInitialize
Back to top Generated by DocFX