Stimulsoft Reports предоставляет набор мощных инструментов по созданию отчетов для Microsoft Visual Studio Net 2008 и 2010. Эти инструменты доступны для Windows Forms, а также Web-Forms. Они предоставляют много полезных функций, такие как легкость в использовании дизайнера отчетов, встроенная поддержка экспорта в PDF, Word, Excel и другие форматы. Stimulsoft Reports в настоящее время поддерживает привязку к любому классу .NET. В дизайнере отчетов эта функция называется бизнес-объектом. Crystal Report и Microsoft отчеты отлично подходят для повседневной отчетности, но если вам следует создавать отчеты с перекрестными ссылками и детализацией, Ajax, поддержкой штрих-кодов и подключение, в то же время, к более чем одному источнику отчета, то Stimulsoft Reports является очень хорошим решением. Они также имеют функции, при помощи которых пользователи могут создавать свои собственные AdHoc отчеты. Все эти возможности делают Stimulsoft Reports хорошим выбором для отчетов бизнес-аналитики.

В этом уроке я покажу, как создать простой табличный отчет с использованием Business Objects (класса .NET). Покажу как создать модель данных ADO.NET, регистрировать данные как Business Objects в дизайнере отчетов Stimulsoft, а также создание табличного отчета и сохранение его для запуска вновь создаваемого отчета.

Данные для отчета брались из Northwind sample database, предлагаемых компанией Microsoft.

Демо версию Stimulsoft Reports можно скачать на официальном сайте компании: http://www.stimulsoft.com/ru/downloads

Stimulsoft reporting tools
Необходимо проделать следующие шаги для создания простого табличного отчета с использованием Business Objects


1. Добавить модель данных ADO.NET в свой проект
2. Сгенерировать модель Entity для базы данных Northwind
3. Зарегистрировать Business Objects с дизайнером отчетов
4. Разработать новый отчет, используя Business Objects
5. Запустить новый отчет, используя Business Objects


1. Добавление модели данных ADO.NET в свой проект

  • Убедитеcь, что вы используете .NET Framework версия 3.5 SP1 и выше;
  • Щелкните правой кнопкой мыши на имя проекта в Solution Explorer;
  • Выберите добавить, а затем New Item;
  • Выберите модель данных Entity ADO.NET;
  • Введите имя модели файла, в этом уроке он будет Northwind.edmx;
  • Нажмите на кнопку добавить.

Add an ADO.NET data model to your project
Add an ADO.NET data model to your project

2. Генерация модели Entity для базы данных Northwind

  • Выберите Generate из базы данных и нажмите Далее;
  • Выберите строку подключения Northwind или построить свою собственную строку подключения с помощью инструкций http://www.connectionstrings.com;
  • Выделите все объекты базы данных, которые вы хотите передать в отчет. Для этого урока мы выберем таблицы;
  • Введите пространство имен модели ADO.NET в качестве NorthwindModel или любых других пространств имен на ваш выбор и нажмите кнопку Finish;
  • Visual Studio теперь будет сканировать схемы базы данных и создавать все необходимые модели и определения классов Entity;
  • Найти модель Entity чтобы увидеть различные организации, которые создаются;
  • Мы будем использовать список "организация" в нашем отчете.

Generate Entity Model for Northwind database
Generate Entity Model for Northwind database
Generate Entity Model for Northwind database

3. Регистрация Business Objects с дизайнером отчетов

  • Создайте новую форму в своем проекте;
  • Убедитесь, что вы добавили ссылку на необходимую библиотеку stimulsoft.net, щелкнув правой кнопкой по проекту и выбрав добавить ссылки;
  • Добавить кнопку с названием Дизайнер отчетов и другую кнопку Выполнить отчет;
  • Создайте обработчик событий для кнопки Дизайнер отчетов;
  • Добавьте код, чтобы получить список клиентов, содержащихся в модели Northwind. (Для простоты мы получаем список всех клиентов, на практике воспользовались бы LINQ, для формирования запроса обратите внимание на следующие статьи предоставляемые Microsoft http://msdn.microsoft.com/en-us/library/bb738636.aspx);
  • Создайте новый объект StiReport и загрузите отчет из "C:\MyReport.mrt" если файл существует (В этом уроке мы зафиксировали местоположение файла отчета для простоты);
  • Зарегистрировать список клиентов с объектом отчет;
  • Вызвать функцию проектирования объекта отчета, чтобы запустить дизайнер.

Register Business Objects with Report Designer
Register Business Objects with Report Designer
using Stimulsoft.Report;

///
/// Event Handler for Design Report button
///
private void Design_Click(object sender, EventArgs e)
{
	// Get Report Object
	StiReport report = GetReport();
	// Launch Report Designer for the report
	report.Design();
}

///
/// This function Loads report definition from a fixed location
/// and registers all Business Objects in the report definition
///

///
/// StiReport object for the report
///
private StiReport GetReport()
{
	// Create a new object of StiReport Class
	StiReport report = new StiReport();
	
	// Load the report definition file from C:\MyReport.mrt if the file exists
	// This tutorial assumes you have are storing the report definition in a fixed location
	// If the file does not exists then Designer will allow you to save the your newly created report
	// in the location
	if (File.Exists("C:\\MyReport.mrt"))
	{
		report.Load("C:\\MyReport.mrt");
	}
	
	// Get of List of all customers from database using ADO.net Enity data model
	NorthWindEntities nw = new NorthWindEntities();
	List customers = nw.Customers.ToList();
	nw.Dispose();
	
	// Register Business Objects for Customers in the report
	report.RegBusinessObject("Northwind", "Customers", customers);
	
	// Return report to calling function
	return report;
}
4. Разработка нового отчета с использованием Business Objects

  • При запуске проекта, нажать клавишу F5 на клавиатуре или на кнопку Начать отладку в Visual Studio;
  • Нажмите на кнопку Дизайнер отчетов, чтобы увидеть дизайнер отчетов Stimulsoft;
  • Найти в Словаре и расширить Business Objects;
  • Northwind показана здесь, потому что мы определили категорию Customers при регистрации бизнес объектов с помощью функции RegBusinessObject;
  • Развернуть Northwind, чтобы увидеть клиентов и развернуть customers, чтобы увидеть все поля, которые принадлежат к customers;
  • Перетащите Customers в отчет, добавляя таким образом таблицу customers в проект;
  • Выберите все поля, которые вы хотите показать в отчете;
  • Нажмите на вкладку Предварительный просмотр, чтобы увидеть предварительный просмотр отчета;
  • Нажмите на значок Save Report для сохранения отчета C:\MyReport.mrt;
  • Закройте дизайнер отчетов.

Design new report using Business Objects
Design new report using Business Objects
Design new report using Business Objects
Design new report using Business Objects

5. Запустите новый отчет с использованием Business Objects

  • Добавьте обработчик событий для кнопки выполнить отчет;
  • Добавьте код, чтобы получить список customers, использующих модель Northwind (Для простоты мы получаем список всех клиентов. Обратите внимание на следующие статьи, предоставляемые Microsoft http://msdn.microsoft.com/en-us/library/bb738636.aspx);
  • Создайте новый объект StiReport и загрузите определенный отчет из C:\MyReport.mrt, если файл существует (В этом уроке мы зафиксировали местоположение файла отчета для простоты);
  • Регистрируйте список customers с объектом отчет;
  • Вызовите функцию отображения объекта отчет для запуска просмотра отчетов.
using Stimulsoft.Report;

///
/// Event Handler for Run Report button
///
private void btnRun_Click(object sender, EventArgs e)
{
	// Get Report Object
	StiReport report = GetReport();
	// Show report to user
	report.Show();
}

///
/// This function Loads report definition from a fixed location
/// and registers all Business Objects in the report definition
///

///
/// StiReport object for the report
///
private StiReport GetReport()
{
	// Create a new object of StiReport Class
	StiReport report = new StiReport();
	
	// Load the report definition file from C:\MyReport.mrt if the file exists
	// This tutorial assumes you have are storing the report definition in a fixed location
	// If the file does not exists then Designer will allow you to save the your newly created report
	// in the location
	if (File.Exists("C:\\MyReport.mrt"))
	{
		report.Load("C:\\MyReport.mrt");
	}
	
	// Get of List of all customers from database using ADO.net Enity data model
	NorthWindEntities nw = new NorthWindEntities();
	List customers = nw.Customers.ToList();
	nw.Dispose();
	
	// Register Business Objects for Customers in the report
	report.RegBusinessObject("Northwind", "Customers", customers);
	
	// Return report to calling function
	return report;
}
Используя этот сайт, вы соглашаетесь на использование файлов Cookie для аналитики и персонализированного контента. Файлы Cookie хранят полезную информацию на вашем компьютере, чтобы помочь нам повысить эффективность и удобство использования. Для получения дополнительной информации, пожалуйста, прочтите Конфиденциальность и Использование Cookie.