Регистрация данных
Если ваш отчет использует данные из приложения (например, типизированный источник данных или бизнес-объект), то их необходимо зарегистрировать в отчете. Это делается с помощью метода 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 . Используя меню "Данные|Выбрать данные для отчета...", можно раскрыть структуру бизнес-объекта до нужной глубины вложенности. |