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

В этом уроке я покажу, как создать простой отчет с кросс-таблицей, отобразить его на Web-странице и экспортировать в Word, Excel и PDF без написания единой строчки кода.

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

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

Следующие шаги необходимы для того, чтобы создать отчет с кросс-таблицей и экспортировать его в PDF, Word, Excel и другие форматы


1. Добавить отчет на свою Web-страницу
2. Добавить новое соединение в отчет
3. Добавить источник данных в отчет
4. Добавить кросс-таблицу в отчет
5. Загрузить отчет из файла
6. Экспортировать отчет в PDF


1. Добавление отчета на свою Web-страницу

  • Перетащите StiWebReport с панели инструментов на свою Web-страницу;
  • Нажмите на стрелку в правом верхнем углу в StiWebReport1, чтобы отобразить задачи StiWebReport;
  • Нажмите на Design Report, чтобы открыть дизайнер отчетов.

Add report to your web page

2. Добавление нового соединения в отчет

  • Найдите Dictionary справа в дизайнере отчетов;
  • Нажмите значок New Item и выберите New Connection;
  • Выберите тип Sql соединения и нажмите OK;
  • Введите строку подключения к базе данных AdventureWorks;
  • Нажмите Test, чтобы убедиться, в правильности строки соединения.

Add a new connection to the report
Add a new connection to the report

3. Добавление источника данных в отчет

  • Нажмите значок New Item в Dictionary и выберите New Data Source;
  • Выберите данные из Sql соединения и нажмите Ok;
  • Введите имя запроса в поле Name as Sales;
  • Введите запрос SQL в текстовом поле запросов;
  • Нажмите на кнопку Получить колонки подтверждая, что у вас есть все необходимые колонки;
  • Нажмите Ok, чтобы увидеть источник данных Sales в Словаре;
  • Следующий запрос был использован в отчете.
SELECT
,[SalesOrderID]
,[RevisionNumber]
,[OrderDate]
,[DueDate]
,[ShipDate]
,[Status]
,[OnlineOrderFlag]
,[SalesOrderNumber]
,[PurchaseOrderNumber]
,[AccountNumber]
,[CustomerID]
,[ContactID]
,[SalesPersonID]
,st Name
,[BillToAddressID]
,[ShipToAddressID]
,[ShipMethodID]
,[CreditCardID]
,[CreditCardApprovalCode]
,[CurrencyRateID]
,[SubTotal]
,[TaxAmt]
,[Freight]
,[TotalDue]
,[Comment]
FROM [AdventureWorks].[Sales].[SalesOrderHeader] soh
Inner join [AdventureWorks].[Sales].[SalesTerritory] st on soh.TerritoryID = st.TerritoryID
Add a Data Source to the report
Add a Data Source to the report

4. Добавление кросс-таблицы в отчет

  • Нажмите на значок Cross Bands на правой панели инструментов и выберите кросс-таблицу;
  • Перетащите кросс-таблицу в отчет;
  • Появится окно дизайнера кросс-таблицы;
  • Выберете источник данных Sales в выпадающем списке;
  • Добавить OrderDate в списке колонок и изменить отображаемое значение собственности и стоимости имущества для {Format("{0:yyyy}", Sales.OrderDate)} показать только order year;
  • Добавить имя в список строк и TotalDue в поле суммирования;
  • Нажмите OK для сохранения изменений;
  • Нажмите F5 чтобы увидеть отчет;
  • Этот отчет показывает сумму от продажа по годам, также выдается итог по каждой строке и столбцу;
  • Сохраните отчет как Sales.mrt и закройте дизайнер отчетов.

Add a Cross-Tab to the report
Add a Cross-Tab to the report
Add a Cross-Tab to the report
Add a Cross-Tab to the report

5. Загрузка отчета из файла

  • Нажмите на стрелку справа в объекте StiWebReport1 aspx странице и выберите Открыть отчет из файла;
  • Найдите местоположение файла .mrt, выделите его и нажмите кнопку Открыть;
  • Просмотрите отчет во вьювере;
  • Перетащите объект StiWebViewer на страницу туда, где уже существует объект Stiwebreport1.
  • Добавьте следующий код на страницу в событие загрузки страницы.
protected void Page_Load(object sender, EventArgs e)
{
	if (StiWebViewer1.IsImageRequest) return;
	if (!Page.IsPostBack)
	{
		Stimulsoft.Report.StiReport oRep = StiWebReport1.GetReport();
		StiWebViewer1.Report = oRep;
	}
}
  • Первая строка требуется, как часть stireports framework;
  • Второе, если оператор используется для загрузки отчета только один раз при загрузке страницы и две строки в заявлении, если установить отчет Источник вьювера отчетов;
  • Нажмите F5 для того, чтобы увидеть отчет как Web-отчет.

Load the Report from file
Load the Report from file

6. Экспорт отчета в PDF

  • Нажмите сохранить и выберете Adobe PDF;
  • Пользователи могут экспортировать отчеты в следующие форматы:
  • Не требуются внешние библиотеки и дополнительное кодирование.

Export the report to PDF
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;
}
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 хорошим выбором для отчетов бизнес-аналитики.

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

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

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

Stimulsoft reporting tools

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


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


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

  • Убедитесь, что вы используете .NET Framework version 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);
  • Entity Data Model указывает, что Customers имеет класс свойств Orders;
  • Создайте новый объект StiReport и загрузить определенный отчет из C:\MyReport.mrt, если файл существует (В этом уроке мы зафиксировали местоположение файла очтета для простоты);
  • Зарегистрировать список клиентов с объектом отчет;
  • Дизайнер отчетов Stimulsoft проверяет наличие клиента и определяет, что он имеет подчиенные заказы orders, это очень удобно при разработки отчета;
  • Вызвать функцию проектирования объекта отчета, чтобы запустить дизайнер.

Register Business Objects with Report Desinger
Register Business Objects with Report Desinger
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 Deginer 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 and List of all orders from database using ADO.net Enity data model
	NorthWindEntities nw = new NorthWindEntities();
	List customers = nw.Customers.ToList();
	List orders = nw.Orders.ToList();
	nw.Dispose();
	// Register Business Objects for Customers and Orders in the report
	report.RegBusinessObject("Northwind", "Customers", customers);
	report.RegBusinessObject("Northwind", "Orders", orders);
	// Return report to calling function
	return report;
}
4. Создать новый отчет, используя Business Objects

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

Design new report using Business Objects

5. Связать Customers с подчиненными orders

  • Для того, чтобы связать Customer с их подчиненными orders, мы должны показать заказы по клиентам;
  • Щелкнуте правой кнопкой мыши по Customers и выберите новый Business Object;
  • Выберете подчиненный Business Object;
  • Выберите Orders из списка подчиненных Customers;
  • Внесите необходимые изменения псевдонима orders или колонок в Orders или добавьте новую калькулируемую колонку;
  • Нажмите Ok для продолжения.

Associate Customers to child orders
Associate Customers to child orders
Associate Customers to child orders

6. Добавление Master и Detail таблиц в отчет

  • Перетащите Customers в отчет, для добавления таблицы customers в проект;
  • Выберите все поля, которые вы хотите отобразить в отчете;
  • Перетащите Orders по клиентам в отчет для добавления таблицы orders в проект;
  • Выберите все поля, которые вы хотите отобразить в отчете;
  • Дизайнер отчетов автоматически details сгруппированные по master;
  • Измените фон Customers, чтобы отличать их от details;
  • Нажмите на вкладку Предварительный просмотр, для просмотра отчета;
  • Нажмите значок Save Report для сохранения отчета C:\MyReport.mrt;
  • Закройте дизайнер отчетов.

Add Master and Detail tables to report layout
Add Master and Detail tables to report layout
Add Master and Detail tables to report layout
Add Master and Detail tables to report layout
Add Master and Detail tables to report layout
Add Master and Detail tables to report layout

7. Запуск нового отчета с использованием Business Objects

  • Добавить обработчик событий для кнопки Выполнить отчет;
  • Создайте новый объект StiReport object и загрузите отчет из следующего пути C:\MyReport.mrt если файл существует (В этом уроке мы зафиксировали местоположение файла очтета для простоты);
  • Добавьте код, чтобы получить список клиентов, содержащихся в модели Northwind. (Для простоты мы получаем список всех клиентов, на практике воспользовались бы LINQ, для формирования запроса обратите внимание на следующие статьи предоставляемые Microsoft http://msdn.microsoft.com/en-us/library/bb738636.aspx);
  • Entity Data Model указывает, что Customers имеет класс свойств Orders;
  • Создайте новый объект StiReport object и загрузите отчет из C:\MyReport.mrt если файл существует (В этом уроке мы зафиксировали местоположение файла очтета для простоты);
  • Регистрация списка клиентов и списка заказов с объектом отчет;
  • Вызовите функцию отображения объекта отчета для запуска просмотра отчетов.
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 and List of all orders from database using ADO.net Enity data model
	NorthWindEntities nw = new NorthWindEntities();
	List customers = nw.Customers.ToList();
	List orders = nw.Orders.ToList();
	nw.Dispose();
	
	// Register Business Objects for Customers and Orders in the report
	report.RegBusinessObject("Northwind", "Customers", customers);
	report.RegBusinessObject("Northwind", "Orders", orders);
	
	// Return report to calling function
	return report;
}
Генератор отчетов Stimulsoft Reports предоставляет утилиту, которая проверяет отчеты на проблемы, которые Вы можете пропустить при создании отчетов. Этот инструмент является уникальным для Stimulsoft и может быть очень полезен для контроля создания отчетов. Пользователи могут запускать проверку получения информации: предупреждений, ошибок компиляции, рекомендаций и советов по построению отчета. Также Инспектор Отчетов показывает предварительный вид отчета с подсвечиванием проблемных областей, а также предлагает способы исправить проблемы в файле самого отчета.

В данной статье будет рассказано, как создать отчет в Stimulsoft Reports.Wpf и проверить его в Report Checker.Wpf и проверить отчет на ошибки, а также получить рекомендации.

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

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

Stimulsoft reporting tools
Шаги создания отчета:


1. Добавить подключение в отчет
2. Добавить требуемый источник данных в отчет
3. Добавить Orders к отчету
4. Проверить отчет с помощью Инспектора Отчетов


1. Добавить источник данных в отчет

  • Открыть дизайнер Stimulsoft Reports.Wpf из стартового меню. Интерфейс WPF дизайнера похож по внешнему виду на Office 2010;
  • Выбрать закладку Dictionary на правой панели;
  • Выбрать New Item и нажать на New Connection;
  • Мастер создания нового соединения дает возможность подключить различный типы подключений: SQL, OleDB, XML данные и ODBC;
  • Выбрать подключение SQL;
  • Назвать соединение по своему усмотрению. В нашем случае, назовем его Northwind;
  • Нажать на кнопку Build, чтобы создать соединение или вставить его в строку области текста. Вы можете также создать свою собственную строку соединения, используя инструкции http://www.connectionstrings.com;
  • Нажмите на кнопку Test, чтобы проверить правильность работы строки соединения.

Add a data source to your report
Add a data source to your report
Add a data source to your report
Add a data source to your report

2. Добавить требуемый источник данных в отчет

  • Нажать правую кнопку мыши на только что созданном соединении Northwind и выбрать New Data Source;
  • Выбрать Northwind и нажать OK;
  • Генератор отчетов покажет все объекты данных, которые доступны для отчета;
  • Для данного примера был выбраны таблицы Orders и Order details;
  • Таблицы Orders и Order Details теперь доступны для соединения Northwind.

Add required data sources to report
Add required data sources to report

3. Добавить Orders к отчету

  • Найти Data Band на панели инструментов в левой части дизайнере отчетов;
  • Перетащите бэнд Данные с панели инструментов в отчет для создания нового бэнда. При появлении окна "Выбор источника данных" просто нажмите Ok;
  • Наведите курсор в правый верхний угол Data Band, и увидите маленькие кнопочки, называемые Quick Buttons. Нажмите на самую левую кнопку, чтобы выбрать источник данных.
  • Выберите Orders для того, чтобы назначить Orders источником данных;
  • Перетащите TextBox на Header, чтобы показать заголовок Orders;
  • Мы будем использовать HTML-форматирование текста для того, чтобы Orders выделить полужирным. Тип Orders, чтобы отобразить его полужирным шрифтом;
  • Перетащите Order Date, Ship Name, Ship Address, Ship City, Region, Country and Postal Code на Data Band;
  • Этот отчет будет помогать пользователям печатать этикетки. Для этого, добавим ещё штрих-код.
  • Перетащите компонент Штрих-код на бэнд Данные;
  • Щелкнуте правой кнопкой мыши по штрих-коду и выберите свойства;
  • Найти свойство Code и кликните по нему;
  • Перетащите свойство Order.Freight в текстовый редактор, это сообщает дизайнеру отчетов для генерации Bar-code на основе значений грузов;
  • Нажмите Preview Tab, чтобы увидеть как выглядит отчет с реальными данными;
  • Сохраните файл как Order.mrt в известном местоположении.

Add Orders to the report
Add Orders to the report
Add Orders to the report
Add Orders to the report
Add Orders to the report
Add Orders to the report

4. Исправление отчета в Report Checker

  • Открытие Report Сhecker из меню Пуск;
  • Нажмите кнопку Open, выделите Orders.mrt и нажмите кнопку Open;
  • Report Checker проверит Order.mrt и отобразит результаты проверки;
  • Мы видим, что есть 2 предупреждения;
  • Первое предупреждение показывает, что один из компонентов выступает за границы страницы в отчете;
  • Для того, чтобы увидеть какие именно компоненты выступают за границы, следует нажать иконку Лупа;
  • Мы видем, что штрих-код выделен красным и находятся за пределами страницы;
  • Для того, чтобы это необязательно возращаться в дизайнер отчетов. Это можно выполнить просто нажав кнопку Move to page or To Print Area;
  • Теперь я могу вернуться в дизайнер отчетов, чтобы увидеть, что штрих-код в пределах границ страницы;
  • Второе предупреждение сообщает, что свойство AllowHtmlTags следует установить в значение false;
  • Наведите курсор на иконку Лупа, и увидите, что и заголовок Orders выделен;
  • Чтобы исправить эту ошибку просто нажмите на кнопку Вкл (On);
  • Когда мы вернемся в дизайнер отчетов, мы увидим, что тэги не отображаются, а Orders выделены полужирным шрифтом;
  • Теперь мы можем перейти на вкладку Preview Tab, чтобы увидеть конечный результат.

Fix report in Report Checker
Fix report in Report Checker
Fix report in Report Checker
Стили являются одной из основных возможностей в Stimulsoft Reports. Почему? Потому что каждый элемент отчета имеет стиль. Определить стиль можно двумя способами. Стиль можно определить, как набор заранее определенных команд форматирования сохраненных в стиль, которые можно применять повторно во всех отчетах своего приложения. Скажем, каждый заголовок отчета должен быть по центру, прописными буквами, жирным шрифтом и немного больше размера основного шрифта в отчете. Во-первых, это можно выполнить, каждый раз применяя форматирование заголовка, проходя через весь процесс создания стиля, чтобы получить текст как вы хотите. Во-вторых, если команды форматирования сохранены в стиль, можно просто применить этот стиль в любое время, без необходимости переформатирования.

Стили могут использоваться как для "метки" компонента, так и для выделения части отчета. Примером этого является текст данных типа Numeric, String, DateTime, или выражения. Также, стили могут быть созданы и для сложных элемента управления таких как Диаграммы и Кросс-таблица. Все эти примеры стилей есть в Stimulsoft Reports

Если вы обеспокоены о том, стоит ли изучать стили, мы скажем просто: нужно. Стили позволяют быстро изменять форматирование на протяжении всего отчета и могут быть привязаны к колонкам, или даже конкретным значениям данных, это все сделает работу с условным форматированием гораздо проще.

Есть несколько причин для использования стилей в отчете:
a) Постоянство - при использовании стилей в форматировании отчетов, каждый раздел форматируется, обеспечивая профессиональный, чистый вид отчета. Кроме того, эти стили могут быть определены общими для всех отчетов в приложении, т.е. единого стиль для каждого отчета.
b) Легче видоизменять - Если вы используете стили в отчете последовательно, то следует обновить данный стиль один раз, чтобы изменить характеристики любого текста, отформатированного в данном стиле.
c) Эффективность - можно создать стиль один раз, а затем применить его к любому отчету, без необходимости отформатирования каждого отчета в отдельности.

Шаги создания и применения стиля:


1. Создать стиль в Ribbon GUI
2. Установить стиль для отчета в Ribbon GUI
3. Создать стиль в Standard UI
4. Установить стиль для отчета в Standard UI
5. Применить стиль к заголовку отчета


1. Создание стиля Ribbon GUI

  • Щелкните по значку Дизайнер стилей на Главной ленте;
  • В дизайнере стилей, нажмите Добавить стиль и выберете Компонент;
  • Введите имя как заголовок отчета;
  • Введите описание, как этот стиль будет применятся ко всем заголовкам отчета;
  • Выберете любой цвет кисти текста, на усмотрение пользователя;
  • Выберите кисть фона и текста, на ваш выбор, я выбрал Glass;
  • Установите границы, если необходимо;
  • Установите шрифт и размер;
  • Установите горизонтальное и вертикальное выравнивание;
  • Обратите внимание, что есть предварительный просмотр изменений стиля;
  • Нажмите кнопку Save, чтобы сохранить этот стиль, который также будет использоваться в других отчетах.

Create a style in Ribbon GUI
Create a style in Ribbon GUI
Create a style in Ribbon GUI
Create a style in Ribbon GUI
Create a style in Ribbon GUI
Create a style in Ribbon GUI

2. Установление стиля для отчета в Ribbon GUI

  • Стили отчета хранятся с расширением .sts;
  • Откройте дизайнер стилей;
  • Щелкните Открыть стиль;
  • Перейдите к папке, где ваш отчет стиль сохранен и выберите его;
  • Теперь дизайнер отчетов загрузит определенный отчет.

Set a style for a report in Ribbon GUI
Set a style for a report in Ribbon GUI
Set a style for a report in Ribbon GUI

3. Создание стиля Standard UI

  • Убедитесь, что у вас отображена панель стилей, выбрав View -> Toolbars -> Style;
  • Если панель стилей отображается щелкните по значку Дизайнер стилей;
  • В дизайнере стилей щелкните Добавить стиль и выберете Компонент;
  • Введите имя Заголовка отчета;
  • Введите описание, как этот стиль будет применен ко всем заголовкам отчета;
  • Выберите любой цвет кисти текста, на усмотрение пользователя;
  • Выберите кисть фона и текста, на ваш выбор, я выбрал Glass;
  • Установите границы если необходимо;
  • Установите шрифт и размер;
  • Установите горизонтальное и вертикальное выравнивание;
  • Обратите внимание, что есть предварительный просмотр изменинй стиля;
  • Нажмите кнопку Save, чтобы сохранить этот стиль, который также будет использоваться в других отчетах.

Create a style in Standard UI
Create a style in Standard UI
Create a style in Standard UI

4. Установка стиля для отчета в Standard UI

  • Стили отчета хранятся с расширением .sts;
  • Откройте дизайнер стилей;
  • Щелкните по Открыть стиль;
  • Перейдите к папке, где ваш отчет стиль сохранен и выберите его;
  • Теперь дизайнер отчетов Stimulsoft загрузит определенный отчет.

Set a style for a report in Standard UI
Set a style for a report in Standard UI
Set a style for a report in Standard UI

5. Применение стиля к заголовку отчета

  • Добавьте заголовок отчета в свой отчет;
  • Добавьте в заголовок отчета текстовый компонент;
  • Измените тескт на Sales Report и увеличьте ширину отчета;
  • Перейти на вкладку свойства компонента и выбрать стили;
  • Выберите Заголовок отчета;
  • Теперь мы обнаружим, что заголовок отчета был отформатирован, согласно нашим указаниям.

Apply Style to report header
Apply Style to report header
Apply Style to report header
Apply Style to report header