Class Dictionary
This class stores all report data items such as datasources, connections, relations, parameters, system variables.
Inherited Members
Namespace: FastReport.Data
Assembly: FastReport.Base.dll
Syntax
public class Dictionary : Base, IFRSerializable, IParent
Remarks
You can access the report dictionary via Report.Dictionary property.
Constructors
Dictionary()
Initializes a new instance of the Dictionary class with default settings.
Declaration
public Dictionary()
Properties
AllObjects
Declaration
public ObjectCollection AllObjects { get; }
Property Value
Type | Description |
---|---|
ObjectCollection |
Connections
Gets a collection of connection objects available in a report.
Declaration
public ConnectionCollection Connections { get; }
Property Value
Type | Description |
---|---|
ConnectionCollection |
CubeSources
Gets a collection of cubesources available in a report.
Declaration
public CubeSourceCollection CubeSources { get; }
Property Value
Type | Description |
---|---|
CubeSourceCollection |
Remarks
Usually you don't need to use this property. It contains only cubesources registered using the RegisterData method.
DataSources
Gets a collection of datasources available in a report.
Declaration
public DataSourceCollection DataSources { get; }
Property Value
Type | Description |
---|---|
DataSourceCollection |
Remarks
Usually you don't need to use this property. It contains only datasources registered using the RegisterData method. All other datasources are contained in connection objects and may be accessed via Connections property.
Parameters
Gets a collection of parameters.
Declaration
public ParameterCollection Parameters { get; }
Property Value
Type | Description |
---|---|
ParameterCollection |
Remarks
Another way to access parameters is to use the Report.Parameters property which is actually a shortcut to this property. You also may use the Report.GetParameter and Report.GetParameterValue methods.
RegisteredItems
Gets a list of registered items.
Declaration
public List<Dictionary.RegDataItem> RegisteredItems { get; }
Property Value
Type | Description |
---|---|
System.Collections.Generic.List<Dictionary.RegDataItem> |
Remarks
This property is for internal use only.
Relations
Gets a collection of relations.
Declaration
public RelationCollection Relations { get; }
Property Value
Type | Description |
---|---|
RelationCollection |
SystemVariables
Gets a collection of system variables like Date, PageNofM etc.
Declaration
public SystemVariables SystemVariables { get; }
Property Value
Type | Description |
---|---|
SystemVariables |
Remarks
Another way to access a system variable is to use the Report.GetVariableValue method.
Totals
Gets a collection of totals.
Declaration
public TotalCollection Totals { get; }
Property Value
Type | Description |
---|---|
TotalCollection |
Remarks
Another way to get a total value is to use the Report.GetTotalValue method.
Methods
AddChild(Base)
Declaration
public void AddChild(Base child)
Parameters
Type | Name | Description |
---|---|---|
Base | child |
Assign(Base)
Declaration
public override void Assign(Base source)
Parameters
Type | Name | Description |
---|---|---|
Base | source |
Overrides
CanContain(Base)
Declaration
public bool CanContain(Base child)
Parameters
Type | Name | Description |
---|---|---|
Base | child |
Returns
Type | Description |
---|---|
System.Boolean |
ClearRegisteredData()
Clears all registered data.
Declaration
public void ClearRegisteredData()
CreateUniqueAlias(String)
Creates unique alias for data item such as connection, datasource or relation.
Declaration
public string CreateUniqueAlias(string alias)
Parameters
Type | Name | Description |
---|---|---|
System.String | alias | The base alias. |
Returns
Type | Description |
---|---|
System.String | The new unique alias. |
Remarks
Use this method to create unique alias of the data item. It is necessary when you create new
items in code to avoid conflicts with existing report items.
Report report1;
DataConnectionBase conn = report1.Dictionary.Connections.FindByName("Connection1");
TableDataSource table = new TableDataSource();
table.TableName = "Employees";
table.Name = report1.Dictionary.CreateUniqueName("EmployeesTable");
table.Alias = report1.Dictionary.CreateUniqueAlias("Employees");
conn.Tables.Add(table);
CreateUniqueName(String)
Creates unique name for data item such as connection, datasource, relation, parameter or total.
Declaration
public string CreateUniqueName(string name)
Parameters
Type | Name | Description |
---|---|---|
System.String | name | The base name. |
Returns
Type | Description |
---|---|
System.String | The new unique name. |
Remarks
Use this method to create unique name of the data item. It is necessary when you create new
items in code to avoid conflicts with existing report items.
Report report1;
Parameter par = new Parameter();
par.Name = report1.Dictionary.CreateUniqueName("Parameter");
report1.Parameters.Add(par);
Deserialize(FRReader)
Declaration
public override void Deserialize(FRReader reader)
Parameters
Type | Name | Description |
---|---|---|
FRReader | reader |
Overrides
FindByAlias(String)
Finds a data item such as connection, datasource or relation by its alias.
Declaration
public DataComponentBase FindByAlias(string alias)
Parameters
Type | Name | Description |
---|---|---|
System.String | alias | The item's alias. |
Returns
Type | Description |
---|---|
DataComponentBase | The data item if found; otherwise, null. |
FindByName(String)
Finds a data item such as connection, datasource, relation, parameter or total by its name.
Declaration
public Base FindByName(string name)
Parameters
Type | Name | Description |
---|---|---|
System.String | name | The item's name. |
Returns
Type | Description |
---|---|
Base | The data item if found; otherwise, null. |
FindDataComponent(String)
Finds a data component that matches the specified reference name.
Declaration
public DataComponentBase FindDataComponent(string referenceName)
Parameters
Type | Name | Description |
---|---|---|
System.String | referenceName | The name to check. |
Returns
Type | Description |
---|---|
DataComponentBase | The DataComponentBase object if found. |
Remarks
This method is for internal use only.
FindDataTableSource(DataTable)
Finds a datasource that matches the specified DataTable.
Declaration
public DataSourceBase FindDataTableSource(DataTable table)
Parameters
Type | Name | Description |
---|---|---|
DataTable | table | The DataTable object to check. |
Returns
Type | Description |
---|---|
DataSourceBase | The DataSourceBase object if found. |
Remarks
This method is for internal use only.
GetChildObjects(ObjectCollection)
Declaration
public void GetChildObjects(ObjectCollection list)
Parameters
Type | Name | Description |
---|---|---|
ObjectCollection | list |
GetChildOrder(Base)
Declaration
public int GetChildOrder(Base child)
Parameters
Type | Name | Description |
---|---|---|
Base | child |
Returns
Type | Description |
---|---|
System.Int32 |
Load(Stream)
Loads the dictionary from a stream.
Declaration
public void Load(Stream stream)
Parameters
Type | Name | Description |
---|---|---|
System.IO.Stream | stream | The stream to load from. |
Load(String)
Loads the dictionary from a file.
Declaration
public void Load(string fileName)
Parameters
Type | Name | Description |
---|---|---|
System.String | fileName | The name of a file to load from. |
Merge(Dictionary)
Merges this dictionary with another Dictionary.
Declaration
public void Merge(Dictionary source)
Parameters
Type | Name | Description |
---|---|---|
Dictionary | source | Another dictionary to merge the data from. |
RegisterBusinessObject(IEnumerable, String, Int32, Boolean)
Registers a business object.
Declaration
public void RegisterBusinessObject(IEnumerable data, string referenceName, int maxNestingLevel, bool enabled)
Parameters
Type | Name | Description |
---|---|---|
System.Collections.IEnumerable | data | The business object. |
System.String | referenceName | The name of the object. |
System.Int32 | maxNestingLevel | Maximum level of data nesting. |
System.Boolean | enabled | Determines wheter to enable the object or not. |
Remarks
This method is for internal use only.
RegisterCubeLink(IBaseCubeLink, String, Boolean)
Registers a CubeLink.
Declaration
public void RegisterCubeLink(IBaseCubeLink cubeLink, string referenceName, bool enabled)
Parameters
Type | Name | Description |
---|---|---|
IBaseCubeLink | cubeLink | The CubeLink to register. |
System.String | referenceName | The name of the data object. |
System.Boolean | enabled | Determines wheter to enable the object or not. |
Remarks
This method is for internal use only.
RegisterData(Object, String, Boolean)
Registers a data object.
Declaration
public void RegisterData(object data, string name, bool enabled)
Parameters
Type | Name | Description |
---|---|---|
System.Object | data | The object to register. |
System.String | name | The name of the object. |
System.Boolean | enabled | Determines whether to enable the object or not. |
Remarks
This method is for internal use only.
RegisterDataView(DataView, String, Boolean)
Registers a DataView.
Declaration
public void RegisterDataView(DataView view, string referenceName, bool enabled)
Parameters
Type | Name | Description |
---|---|---|
DataView | view | The DataView to register. |
System.String | referenceName | The name of the data object. |
System.Boolean | enabled | Determines wheter to enable the object or not. |
Remarks
This method is for internal use only.
RemoveChild(Base)
Declaration
public void RemoveChild(Base child)
Parameters
Type | Name | Description |
---|---|---|
Base | child |
ReRegisterData()
Re-registers the data registered before.
Declaration
public void ReRegisterData()
Remarks
This method is for internal use only.
ReRegisterData(Dictionary)
Re-registers the data registered before.
Declaration
public void ReRegisterData(Dictionary dictionary)
Parameters
Type | Name | Description |
---|---|---|
Dictionary | dictionary |
Save(Stream)
Saves the dictionary to a stream.
Declaration
public void Save(Stream stream)
Parameters
Type | Name | Description |
---|---|---|
System.IO.Stream | stream | Stream to save to. |
Save(String)
Saves the dictionary to a file.
Declaration
public void Save(string fileName)
Parameters
Type | Name | Description |
---|---|---|
System.String | fileName | The name of a file to save to. |
Serialize(FRWriter)
Declaration
public override void Serialize(FRWriter writer)
Parameters
Type | Name | Description |
---|---|---|
FRWriter | writer |
Overrides
SetChildOrder(Base, Int32)
Declaration
public void SetChildOrder(Base child, int order)
Parameters
Type | Name | Description |
---|---|---|
Base | child | |
System.Int32 | order |
UnregisterData(Object)
Unregisters the previously registered data.
Declaration
public void UnregisterData(object data)
Parameters
Type | Name | Description |
---|---|---|
System.Object | data | The application data. |
UnregisterData(Object, String)
Unregisters the previously registered data.
Declaration
public void UnregisterData(object data, string name)
Parameters
Type | Name | Description |
---|---|---|
System.Object | data | The application data. |
System.String | name | The name of the data. |
Remarks
You must specify the same data and name as when you call RegisterData.
UpdateLayout(Single, Single)
Declaration
public void UpdateLayout(float dx, float dy)
Parameters
Type | Name | Description |
---|---|---|
System.Single | dx | |
System.Single | dy |
UpdateRelations()
Enables or disables relations between data tables.
Declaration
public void UpdateRelations()
Remarks
Call this method if you create master-detail report from code. This method enables relation between two data tables which Enabled flag is set to true. Relations whose parent and child tables are disabled, gets disabled too.