Регистрация данных
Если ваш отчет использует данные из приложения (например, типизированный источник данных или бизнес-объект), то их необходимо зарегистрировать в отчете. Это делается с помощью метода RegisterData объекта Report.
При типичном сценарии работы с отчетом, рассмотренном здесь, вам не нужно регистрировать данные вручную. FastReport автоматически добавляет вызов метода
RegisterDataв код методаInitializeComponentвашей формы.
Метод RegisterData нужно вызывать после того, как отчет загружен:
report1 = new Report();
report1.Load("report.frx");
report1.RegisterData(dataSet1, "NorthWind");
Метод RegisterData перегружен и позволяет регистрировать следующие типы данных:
| Метод | Описание |
|---|---|
void RegisterData(DataSet data) |
Регистрация источника данных. Этот метод регистрирует все таблицы, представления и связи, которые имеются в источнике. Вызов этого метода эквивалентен вызову RegisterData(data, "Data"). Внимание: если регистрируете несколько источников, используйте версию метода RegisterData(DataSet data, string name). |
void RegisterData(DataSet data, string name) |
Регистрация источника данных. Этот метод регистрирует все таблицы, представления и связи, которые имеются в источнике. В параметре name можно указать любое имя; важно, чтобы оно не менялось и было уникальным (в случае, если регистрируется несколько источников). Имя name нигде не отображается, однако оно используется для привязки объектов отчета к набору данных. Например, мы регистрируем набор данных dataSet1, содержащий две таблицы - Customers и Orders: report.RegisterData(dataSet1, "MyDataSet"); В файл отчета (.frx) будет добавлено два источника данных следующего вида: <TableDataSource Name="Customers" ReferenceName="MyDataSet.Customers">...</TableDataSource><TableDataSource Name="Orders" ReferenceName="MyDataSet.Orders">...</TableDataSource>Как видно, они привязаны к исходному набору данных с помощью свойства ReferenceName. Теперь, если загрузить этот отчет и вызвать метод report.RegisterData(dataSet1, "MyDataSet"); будет выполнена привязка объектов TableDataSource в отчете к соответствующим таблицам набора данных dataSet1. Если привязку осуществить не удалось (например, указано другое имя name), при запуске отчета будет выдано окно с ошибкой "Источник данных не инициализирован". |
void RegisterData(DataTable data, string name) |
Регистрация таблицы. |
void RegisterData(DataView data, string name) |
Регистрация представления (view). |
void RegisterDataAsp(IDataSource data, string name) |
Регистрация источника данных при работе в ASP.NET. |
void RegisterData(DataRelation data, string name) |
Регистрация связи. |
void RegisterData(IEnumerable data, string name) |
Регистрация бизнес-объекта. Этот вызов эквивалентен вызову RegisterData(data, name, 1). Используя меню "Данные|Выбрать данные для отчета...", можно раскрыть структуру бизнес-объекта до нужной глубины вложенности. |
void RegisterData(IEnumerable data, string name, int maxNestingLevel) |
Регистрация дерева бизнес-объектов с начальным уровнем вложенности maxNestingLevel. Используя меню "Данные|Выбрать данные для отчета...", можно раскрыть структуру бизнес-объекта до нужной глубины вложенности. |