Reference to data sources |
Top Previous Next |
Contrary to the FastReport expressions (covered in the "Expressions" section), never use square brackets in script for referring to the data sources. Instead of this, use the GetColumnValue method of the Report object, which returns the value of the column:
string productName = (string)Report.GetColumnValue("Products.Name");
As seen, you need to indicate the name of the source and its column. The name of the source can be compound in case, if we are referring to the data source by using a relation. Details about relations can be found in the "Data" chapter. For example, you can refer to a column of the related data source in this way:
string categoryName = (string)Report.GetColumnValue("Products.Categories.CategoryName");
For making the work easier, use the "Data" window. From it you can drag data elements into the script, during this FastReport automatically creates a code for referring to the element.
For referring to the data source itself, use the GetDataSource method of the Report object:
DataSourceBase ds = Report.GetDataSource("Products");
Help on properties and methods of the DataSourceBase class can be received from the FastReport.Net Class Reference help system. As a rule, this object is used in the script in the following way:
// get a reference to the data source DataSourceBase ds = Report.GetDataSource("Products");
// initialize it ds.Init();
// enum all rows while (ds.HasMoreRows) { // get the data column value from the current row string productName = (string)Report.GetColumnValue("Products.Name"); // do something with it... // ...
// go next data row ds.Next(); }
|