Stimulsoft reporting provides a set of powerful reporting tools for Microsoft Visual Studio .net 2008 and 2010; these tools are available for windows forms as well as web forms. They provide many useful features such as an easy to use report designer and native support for exporting to PDF, Word, Excel and various other formats. Stimulsoft reporting now supports binding to any .net class; this feature is called business objects in the report designer. Crystal Report and Microsoft reports are great for day to day reporting, but if you need to create reports with cross-tabs and drill down, Ajax, support for barcodes and connecting to more than one report source at the same time, then Stimulsoft reporting is a very good solution. They also have a feature where end users can create their own reports for Adhoc reporting. All these features make Stimulsoft reports a good choice for business intelligence reporting.

In this tutorial I will show to create a simple tabular report using the Business Objects (.net classes). Show how to create an ADO.NET data model, register entities as business objects with stimulsoft report designer and design a tabular report and save the report definition file to run the newly created report.

The data for this sample report will come from the Northwind sample database provided by Microsoft.

The demo version of Stimulsoft reporting tools can be downloaded from the website: http://www.stimulsoft.com/en/downloads

Stimulsoft reporting tools
Steps are required in order to create a simple tabular report using Business Objects


1. Add an ADO.NET data model to your project
2. Generate Entity Model for Northwind database
3. Register Business Objects with Report Designer
4. Design new report using Business Objects
5. Run new report using Business Objects


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

  • Make sure you targeting .NET Framework version 3.5 SP1 or higher;
  • Right-click on the project name in Solution Explorer;
  • Select Add and then select New Item;
  • Select the ADO.NET Entity Date Model;
  • Type the name of the model file, for this tutorial it is going to be Northwind.edmx;
  • Click on the Add button.

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

2. Generate Entity Model for Northwind database

  • Select Generate from database and click Next;
  • Choose the connection string for northwind or build our own connection string using instructions given on http://www.connectionstrings.com;
  • Select all database objects that you want to report on. For the sake of this tutorial we are going to select only the tables;
  • Type the namespace of the ADO.net entity model as NorthwindModel or any other namespace or our choice and click on Finish;
  • Visual studio will now scan the database schema and generate all required Entity model classes and definitions;
  • Browse the Entity model to see various entities that are created;
  • We will be using Customers entity to list all customers in our report.

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

3. Register Business Objects with Report Designer

  • Create a new form in your project;
  • Make sure you have added the reference to required stimulsoft.net dlls by right-clicking on the project and selecting add reference;
  • Add a button called Design Report and another button called Run Report;
  • Create an event handler for design report button;
  • Add a code to get a list of customers using Northwind entity model (For simplicity we are getting list of all customers, in practice you would be using LINQ to form a query by following tutorials provided Microsoft at http://msdn.microsoft.com/en-us/library/bb738636.aspx);
  • Create new a StiReport object and load the report definition from "C:\MyReport.mrt" if the file exists (For this tutorial we have fixed the location of report file for simplicity);
  • Register the list of customers with the report object;
  • Call the Design function of the report object to launch the designer.

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. Design new report using Business Objects

  • On run the project by pressing F5 on your keyboard or click on Start Debugging button in Visual Studio;
  • Click on Design Report button to show the Stimulsoft report designer;
  • Browser to Dictionary and Expand Business Objects;
  • Northwind is shown here because we specified category of Customers while registering business objects using RegBusinessObject function;
  • Expand Northwind to see customers and expand customers to see all the fields that belong to customers;
  • Drag Customers and drop into the report layout to add customers table to the design;
  • Select all the fields that you want to show in the report;
  • Click on Preview tab to see the report preview;
  • Click on Save Report icon save to C:\MyReport.mrt;
  • Close the report designer.

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. Run new report using Business Objects

  • Add a event handler for Run Report button;
  • Add code to get a list of customers using Northwind entity model (For simplicity we are getting list of all customer, in practice you would be using LINQ to form a query by following tutorials provided Microsoft at http://msdn.microsoft.com/en-us/library/bb738636.aspx);
  • Create new StiReport object and load the report definition from d:\MyReport.mrt, if the file exists (For this tutorial we have fixed the location of report file for simplicity);
  • Register the list of customers with the report object;
  • Call the Show function of the report object to launch the report viewer.
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;
}
By using this website, you agree to the use of cookies for analytics and personalized content. Cookies store useful information on your computer to help us improve efficiency and usability. For more information, please read the privacy policy and cookie policy.