Обращение к источникам данных
В отличие от выражений FastReport (они рассмотрены в главе "Выражения"), в скрипте нельзя использовать квадратные скобки для обращения к данным отчета. Вместо этого используется метод GetColumnValue
объекта Report, возвращающий значение поля:
string productName = (string)Report.GetColumnValue("Products.Name");
Как видно, надо указать имя источника данных и его поля через точку. Имя источника может быть составным в случае, если мы обращаемся к источнику данных, используя связь (relation). Подробнее о связях рассказано в главе "Данные". Например, так можно обратиться к полю связанного источника данных:
string categoryName = (string)Report.GetColumnValue("Products.Categories.CategoryName");
Для облегчения работы используйте окно "Данные". Из него можно перетаскивать элементы данных в скрипт, при этом FastReport автоматически создает код для обращения к элементу.
Для обращения к самому источнику данных используйте метод GetDataSource
объекта Report:
DataSourceBase ds = Report.GetDataSource("Products");
Справку по свойствам и методам класса DataSourceBase
можно получить в справочной системе FastReport .NET Class Reference. Как правило, этот объект используется в скрипте следующим образом:
// получаем ссылку на источник данных
DataSourceBase ds = Report.GetDataSource("Products");
// инициализируем его
ds.Init();
// перебираем все записи в источнике
while (ds.HasMoreRows)
{
// получаем значение поля для текущей записи источника
string productName = (string)Report.GetColumnValue("Products.Name");
// выполняем с ним какие-то действия...
// ...
// переходим на следующую запись
ds.Next();
}