Хранение и загрузка отчета
Вы можете хранить отчет одним из следующих способов:
Способ | Описание |
---|---|
в ресурсах приложения (WinForms/Mono) | Типичный сценарий работы с отчетом, который мы рассмотрели выше, использует именно этот способ. За это отвечает свойство StoreInResources объекта Report, которое по умолчанию равно true . У данного способа есть следующие плюсы и минусы:+ отчет встроен в приложение, не нужно распространять дополнительные файлы; - при необходимости изменить отчет, нужно перекомпилировать приложение. Загрузка отчета осуществляется автоматически с помощью кода, который FastReport .NET добавляет в метод InitializeComponent вашей формы. |
в файле .FRX | Это наиболее подходящий способ, если вы хотите дать пользователям возможность редактировать файлы отчета. В этом случае установите свойство StoreInResources в false . Для загрузки отчета из файла используйте метод Load объекта Report: report1.Load("filename.frx"); |
в базе данных | Отчет можно хранить в поле БД в виде строки, либо в двоичном потоке. Для загрузки отчета из строки используйте метод LoadFromString объекта Report. Для загрузки из потока используйте перегруженный метод Load : report1.Load(stream); Для поддержки этого способа в дизайнере отчетов необходимо переопределить реакцию на действия "Открыть файл" и "Сохранить файл". Как это сделать, описано ниже. |
в виде класса C#/VB.NET | Для этого в дизайнере отчета выберите пункт "Файл|Сохранить как...", и выберите тип файла - "Файл C#" или "Файл VB.NET" (это зависит от того, какой язык выбран в самом отчете - см. "Руководство пользователя"). Полученный файл можно добавить в ваш проект. У данного способа есть следующие плюсы и минусы: + работа с отчетом, как с обычным классом; + доступны все возможности Visual Studio, в том числе отладка; + это единственный способ работы с отчетом, который совместим с режимом Medium Trust в ASP.NET; - вы не можете редактировать такой отчет. Для этого нужно иметь оригинальный файл отчета в формате .FRX; - при необходимости изменить отчет, нужно перекомпилировать приложение. Для работы с отчетом создайте экземпляр класса отчета, например: SimpleListReport report = new SimpleListReport(); report.Show(); |