Introduction

The invoice is most often used in accounting for the tax (customs) control or in the international supply of goods. This document usually includes the cost of transportation, shipping operations, insurance, payment of export duties, as well as various taxes (fees), and more. If your activity requires constant creation of invoices, for optimization, time and cost savings, it is logical to assume that it is easier to create a document template. Using it, you change only the data, saving yourself from routine work to create the structure of the invoice and its design.You can create templates and tools in many ways, but I want to help you save time in finding these resources. In this tutorial you will learn how to quickly create an invoice template, decorate it and get the finished document. This will take you some time. I will try as much as possible to describe in detail the process of creating such a report.

Background

The product which is used in this tutorial is Stimulsoft Reports.Net which trial can be downloaded at:
http://www.stimulsoft.com/downloads/StimulsoftReports.Net_2012.1_Trial.zip

The database to this tutorial is delivered with the product installation. The video file which shows how to create this report is avaialble at Youtube.

In order to create an invoice, you should do the following steps:

1. Run the designer;

2. Connect the data:
2.1. Create New Connection;
2.2. Create New Data Source;

3. Put the DataBand on the page of the report template;

4. Put the HeaderBand above the DataBand. The picture below shows an example of the report template with the bands on the page:

01

5. Edit the bands DataBand and HeaderBand:
5.1. Align them by height;
5.2. Set the properties of the DataBand. For example, set the Can Break property to true, if you want the band be broken;
5.3. Set the background color for the bands;
5.4. If necessary, set Borders;
5.5. Set the border color.

6. Specify the data source for the DataBand using the Data Source property from the object inspector:

02

7. Put text components in the HeaderBand with texts Unit Name, Description, Qty, Item Price, Total;

8. Put text components in the DataBand with expressions. Where the expression is a reference to the data field. Put text components with the expressions: {Products.ProductName}, {Products.QuantityPerUnit}, {Products.UnitsInStock}, {Products.UnitPrice}, and {Products.UnitsInStock * Products.UnitPrice};

9. Edit Text and TextBox:
9.1. Drag the text components on the DataBand and HeaderBand to the appropriate places;
9.2. Set the font parameters: size, style and color;
9.3. Align text components by height and width;
9.4. Set the background of text components;
9.5. Align text in text components;
9.6. Set the properties of text components. For example to set the Word Wrap property to true;
9.7. If necessary, include Borders of text components;
9.8. Set the border color.

The picture below shows the report template:

03

10. Click on the Preview button or invoke the report viewer, using the shortcut key F5 or the Preview item. After rendering a report, all references to the data fields will be replaced with data from the specified fields. That data will be taken sequentially from the data source that was specified for the given band. The number of copies of the DataBand in the rendered report will be equal to the number of rows in the data source. The picture below shows the rendered report:

04

11. Go back to the report template;

12. Add the FooterBand on the report page and edit it;

13. Put text components in the band with the expression Items per page: {cCount (DataBand1)} and edit this text component;

14. Add Rectangle, so that the upper points are located on the HeaderBand, and the lower ones on the FooterBand;

15. Add cross-primitives, which start points are located at the top of the HeaderBand, and the end ones - on FooterBand. The picture below shows the report template with the FooterBand, rectangle and primitives:

05

16. Add the ReportTitleBand to the report template and FooterBand and edit them;

17. Put a text component in the FooterBand with the expression Total: {Sum (Products.UnitsInStock * Products.UnitPrice)};

18. Put a text components in the ReportTitleBand with expressions:
18.1. The first text component has the text BILL TO;
18.2. The second one indicates Name Street Address Address 2 City, ST ZIP Code;
18.3. The third component with the text SHIP TO;
18.4. In the fourth component the text is the same as in the second one Name Street Address Address 2 City, ST ZIP Code;
18.5. Put the text Invoice # 123456 in the next component;
18.6. Put the expression Invoice date {Today.ToString ("d")} in the sixth component in this band;
18.7. And in the last component put Customer ID 123;

The picture below shows a report template:

06

19. Click on the Preview button or invoke the report viewer, using the shortcut key F5 or the Preview item. After rendering a report, all references to the data fields will be replaced with data from the specified fields. That data will be taken sequentially from the data source that was specified for the given band. The number of copies of the DataBand in the rendered report will be equal to the number of rows in the data source. The picture shows a report with the report header and footer:

07

Adding styles

1. Go back to the report template;

2. Call the Style Designer;

The picture below shows the dialog Styles Designer:

08

3. Click the Add Style button to start creating a style. Select Component from the drop down list. Set the Brush.Color property to change the background color of a row. The picture below shows a sample of the Style Designer with the list of values of the Brush.Color property.

09

Press the Close button when the property is set. After that, in the list of values of properties ??Even style and Odd style the new values will appear, i.e. the new style of even/odd lines, respectively.

4. Render a report by clicking on the Preview tab or call the report Viewer using a hot key F5 or by selecting the menu item Preview. The picture below shows the rendered report with the invoice:

10

5. Go back to the report template;

6. Save the report template, for example, as Invoice.mrt.

The invoice, can be printed, saved to any of the available file formats, or send it via email. The picture below shows is a list of file formats available for saving or sending via e-mail:

11

The report can be saved from Visual Studio. To do this, add the following code in your project:

StiReport report = new StiReport();
report.Load("с:\\Invoice.mrt");
report.Show();
The new versions of Windows 8 and Visual Studio 2012 are available for public usage. Naturally, it has been carefully examined by our experts. Their opinion will now be expressed by the chief specialist of the development department Anton Lozovsky:

"Our team has started working with the very first beta version of Windows 8. We tried to work on it and test new features. There have been attempts to write some code on first versions of VS.

The first demo version of Visual Studio was totally raw. It was so unreliable that refused to work stably even on computers stuffed with the top-end hardware components. Due to the fact that our team uses the latest workstations (updated last time before the official release of Windows), it is difficult to imagine how Visual Studio could behave on typical machines.

Regular hangs after simple operations, extremely inconvenient and poor interface. Very soon prereleases with fixes became available, in which the interface was improved, but the performance remained the same. This new version of the Visual Studio continued to throw errors.

There was a feeling that fixes of one problem were replaced by new ones. Prerelease versions of Windows were covered with the same problems.

Finally the version of Windows 8 became available. We downloaded it from the official website. The operating system worked much better than its previous version. Most of the errors and deficiencies have been corrected. However it is much pleasant to work in Windows 7. Together with the operating system we have downloaded a new version of Visual Studio. What can I say about it?

The appearance has undergone tremendous changes; it has become really beautiful and attractive. However, many problems are not corrected until now. While testing the beta version of Visual Studio, we identified a number of errors, wrote about them to the VS support team and they promised that the release version will fix everything. But, unfortunately, everything remains as before. The promises of the realization of requested features still remain promises.

In the previous version of Visual Studio, our product has worked steadily, without any problems and errors. Running the product on the new studio, the project behaved unexpectedly - it threw a lot of bugs and refused to work: it lost ability to compile and got lots of conflicts. Despite all these difficulties, we managed to organize its work, though left an unpleasant aftertaste from the time spent on the development, “killed” with the new version of Visual Studio.

Of course, we understand that this is only the first version. This is only the beginning of development to work with the tablet. We hope that, eventually, everything will be much better."

We offer all our blog readers to personally try out our new product for Windows 8 Stimulsoft Reports.WinRT, which will soon be available officially.
Stimulsoft reports has a web based report designer component that provides full report editing capabilities inside a web browser. Thanks to this component called Designer.Web you can now allow end users to edit reports to their requirements and save the report definition locally or on the server. The best part of the Designer.Web is drag and drop deployment, all you need to do is insert the designer component on an ASP.NET web form and write one line of code to start allowing users to edit existing report or create their own reports. This feature would be extremely useful for minor changes that would normally require developer intervention such as changing color, font or alignment of text or adding a new field to the table or changing the location of the page number.

The salient features of Stimulsoft Reports Designer.Web are:

1. Platform independent (runs on Adobe Flash);
2. Drag and drop implementation and deployment;
3. Option of saving report definition on the web server or on user's computer;
4. Extremely useful for minor changes and updates by end users;
5. Extremely useful for global development teams.
The official documentation and training videos can be found at:
Video Tutorials: http://www.stimulsoft.com/en/videos
User Manual: http://www.stimulsoft.com/en/documentation
Download latest version of Report Designer.Web from http://www.stimulsoft.com/en/downloads
The data for this sample report will come from the AdventureWork sample database provided by Microsoft.
In this tutorial I will show you how easy it is to use the web designer with the following activities


1. Add Reports Designer.Web to your web page
2. Show Designer.Web on Edit button click
3. Create a simple table Report in Designer.Web
4. Add a new connection to the report
5. Add a Data Source to the report
6. Add a Table to the report
7. Preview and Save Report


1. Add Reports Designer.Web to your web page

  • Drag and Drop StiWebDesinger1 from the toolbox to your webpage

Add Reports Designer.Web to web page

2. Show Designer.Web on Edit button click

  • Drag and Drop a button Standard ASP.NET button onto the page and type the text as "Edit Report";
  • Add an event handler for the edit button and add the following line to show the Designer.Web.
protected void btnEdit_Click(object sender, EventArgs e)
{
	StiWebDesigner1.Design(new Stimulsoft.Report.StiReport());
}
3. Create a simple table Report in Designer.Web

  • Start your website in Debug mode by pressing the debug button on the Visual Studio toolbar or by pressing the F5 key;
  • Click on the Edit Report button;
  • Reports designer now opens inside Internet Explorer.

Create a simple table Report in Designer.Web
Create a simple table Report in Designer.Web

4. Add a new connection to the report

  • Select the Dictionary Tab on the right side of the reports designer;
  • Click on the New Item Icon and select a New Connection;
  • Select the SQL Connection and click OK;
  • Type the connection string for the AdventureWorks database;
  • Click test to confirm that the connection string is correct.

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

5. Add a Data Source to the report

  • Click on the New Item icon the Dictionary Tab and select New Data Source;
  • Select Data from the SQL Connection and Click Ok;
  • Type the name of the query in the Name field as Sales;
  • Type the SQL query in the Query Text Field;
  • Click on the Retrieve Columns to confirm that you have all the required columns;
  • Click Ok to see the Sales Datasource in the Dictionary Pane;
  • The following query has been used in the report:
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

6. Add a Table to the report

  • Click on the Menu icon and Select New;
  • Select New Report with Wizard;
  • Select Standard Report and Click OK;
  • Expand the Connection and Select Sales as the Datasource;
  • Click Next to select columns;
  • Select all the columns required to be displayed;
  • Continue through all the steps with default settings or change them according to your requirements;
  • Click to see the final report design.

Add a Table to the report
Add a Table to the report
Add a Table to the report
Add a Table to the report

7. Preview and Save Report

  • Please remember to disable the popup blocker for the localhost;
  • Click on the preview tab and select Preview as HTML;
  • The report preview will open in a popup window;
  • Switch to the report designer window and click on the menu icon;
  • Now select "Save As";
  • Click Save again if you have the trial version;
  • Select any location on the local drive to store the report.

Preview and Save Report
Preview and Save Report
Preview and Save Report
Notes:
1. Save As is used to download the report definition on local user's drive;
2. Save is used to save the report on the server side.
In this tutorial I will give you how easy it is to save reports created and edited with Stimulsoft Reports Designer.Web on the web server.

Stimulsoft reports has a web based report designer component that provides full report editing capabilities inside a web browser. Thanks to this component called Designer.Web you can now allow end users to edit reports to their requirements and save the report definition locally or on the server. The best part of the Designer.Web is drag and drop deployment, all you need to do is insert the designer component on an ASP.net web form and write one line of code to start allowing users to edit existing report or create their own reports. This feature would be extremely useful for minor changes that would normally require developer intervention such as changing color, font or alignment of text or adding a new field to the table or changing the location of the paging number.

The salient features of Stimulsoft Reports Designer.Web are:

1. Platform independent (runs on Adobe Flash);
2. Drag and drop implementation and deployment;
3. Option of saving report definition on the web server or on user's computer;
4. Extremely useful for minor changes and updates by end users;
5. Extremely useful for global development teams.
The official documentation and training videos can be found at:
Video Tutorials: http://www.stimulsoft.com/en/videos
User Manual: http://www.stimulsoft.com/en/documentation
Download latest version of Report Designer.Web from http://www.stimulsoft.com/en/downloads
The data for this sample report will come from the AdventureWork sample database provided by Microsoft.
In this tutorial I will show you how easy it is to use the web designer with the following activities


1. How to add StiWebDesigner and other controls to the web page
2. Show list of reports when page loads
3. Show report on listbox selection
4. Show web report designer
5. Edit selected report
6. Save report file on the server
7. Create new report and view it


1. Add StiWebDesigner and other controls to your web page

  • Drag and Drop StiWebDesigner from the toolbox to your webpage;
  • Add a listbox to show the list of reports;
  • Add a StiWebViewer for users to view the report selected in the listbox;
  • Add a textbox for users to enter the name of report;
  • Add button for a creating new report, editing existing reports.

Add StiWebDesigner and other controls to your web page

2. Show list of reports when page loads

  • Copy all report files in the Reports Directory;
  • Find all files in the reports folder that end with the "*.mrt" extension;
  • Call the refreshReportsList function in the page load event fired and page is not postback.
protected void Page_Load(object sender, EventArgs e)
{
	if (!IsPostBack)
	{
		// Show list of all reports
		refreshReportsList();
	}
}

private void refreshReportsList()
{
	// Find all files with extension .mrt
	string[] reports = Directory.GetFiles(Server.MapPath("Reports"), "*.mrt");
	// Clear reports list
	lstReports.Items.Clear();
	// Loop through all files found and each file to reports list
	foreach (string reportpath in reports)
	{
		string filename = reportpath.Substring(reportpath.LastIndexOf("\\") + 1);
		lstReports.Items.Add(new ListItem(filename, reportpath));
	}
}
3. Show report on listbox selection

  • Add an onclick event handler for the listbox;
  • Create an object of StiReport class;
  • Load the report with the file path given in the selected list item;
  • Set the report viewer's report source to the new.
<asp:ListBox ID="lstReports" runat="server" AutoPostBack="True" Width="100%"
	OnSelectedIndexChanged="lstReports_SelectedIndexChanged">
</asp:ListBox>
protected void lstReports_SelectedIndexChanged(object sender, EventArgs e)
{
	if (lstReports.SelectedIndex > -1)
	{
		// Load report from the file path given in the selected item
		StiReport oReport = new StiReport();
		oReport.Load(lstReports.SelectedValue);
		
		// Set report viewer's source to the loaded report
		StiWebViewer1.Report = oReport;
		StiWebViewer1.DataBind();
	}
}
4. Show web report designer

  • Add an onclick event handler for the "Design New Report" button;
  • If the report already exists then load the file and allow users to edit the report;
  • If the report does not already exist then create a new report file in the report file name.
protected void btnDesignNewReport_Click(object sender, EventArgs e)
{
	StiReport oNewRep = new StiReport();
	
	// Check if a report with the same name already exists
	string[] files = Directory.GetFiles(Server.MapPath("Reports"), txtNewReportName.Text + ".mrt");
	
	if (files.Length == 0)
	{
		// If the report deos not exist then set the report name
		oNewRep.ReportName = txtNewReportName.Text;
	}
	else
	{
		// If the report already exists then load the report into the designer
		oNewRep.Load(files[0]);
	}
	
	StiWebDesigner1.Design(oNewRep);
}
5. Edit selected report

  • Add an onclick event handler for the "Edit Selected Report" button;
  • Check if use has selected an item;
  • Load the report file from the file path given the selected value;
  • Set the report designer's source to the loaded report file.
protected void btnEditReport_Click(object sender, EventArgs e)
{
	if (lstReports.SelectedIndex > -1)
	{
		// Load the selected file
		StiReport oReport = new StiReport();
		oReport.Load(lstReports.SelectedValue);
		StiWebDesigner1.Design(oReport);
	}
}
6. Save report file on the server

  • The StiWebDesigner control raises the OnSaveReport event when users click on the save icon in the Designer.Web;
  • Add an even handler for the OnSaveReport event that takes StiSaveReportEventArgs as event arguments;
<cc2:StiWebDesigner ID="StiWebDesigner1" runat="server" OnSaveReport="StiWebDesigner1_SaveReport" />
  • Get the Report object from the event args sent the control;
  • Save the report in the report directory with the filename same as the report name;
  • Refresh the list of reports.
protected void StiWebDesigner1_SaveReport(object sender,
	Stimulsoft.Report.Web.StiWebDesigner.StiSaveReportEventArgs e)
{
	StiReport oRep = e.Report;
	e.Report.Save(Server.MapPath("Reports\\" + oRep.ReportName + ".mrt"));
	refreshReportsList();
}
7. Create new report and view it

  • Press the "Start debugging" icon in Visual Studio or "F5" button;
  • Type a name for the report that you want to create;
  • Add a label to the report and type is "Hello World";
  • Click on Save icon to save the report file on the server;
  • Click on the Menu icon and click exit to return to the list of reports;
  • Press F5 to refresh the list of reports;
  • Select the newly created report in the list on reports to view it.

Create new report and view it 1
Create new report and view it 2
Create new report and view it 3
Create new report and view it 4
Create new report and view it 5
Create new report and view it 6
Notes:
1. Save As is used to download the report definition on local user's drive;
2. Save is used to save the report on the server side.
Stimulsoft reporting provides built in components that allow the developer to programmatically export their reports to a wide variety of document formats. In my experience the user requirement is usually to have an export button on the webpage or a windows forms that does the job for the user. Exporting by code behind is also usually required for batch processes where reports scheduled to be emailed to users or saved to a network drive or they may also be uploaded to sharepoint/ftp server. Below is the list of formats that we support natively by Stimulsoft reporting. There is no need to use third party or COM components.

In this tutorial I will show to create a simple table report, show it on a web page and show an Export to PDF button on a webpage that allows the user to download the PDF. For doing that I need a way to call the export function of the report or report viewer in the code behind.

The demo version of Stimulsoft reporting tools can be downloaded from the website: http://www.stimulsoft.com/en/downloads
The following steps are required in order to create a cross-tab report and export it to PDF, Word, Excel and other formats.


1. Supported Export Formats
2. Supported Export Settings
3. Add report to your web page
4. Add a new connection to the report
5. Add a Data Source to the report
6. Add Table and Page Header to the report
7. Add report to your web page
8. Page load event
9. Export Report on Export button click


1. Supported Export Formats
  • PDF (Adobe Portable Document Format);
  • Microsoft XPS (XML Paper Specification);
  • HTML (HyperText Markup Language);
  • MHT;
  • Text;
  • Rich Text;
  • Microsoft Word 2007;
  • OpenDocument Writer;
  • Microsoft Excel;
  • Microsoft Excel XML;
  • OpenDocument Calc;
  • CSV (Comma-separated values);
  • dBase DBF (DataBase File);
  • XML (Extensible Markup Language);
  • BMP (Bitmap);
  • GIF (Graphics Interchange Format);
  • JPEG (Joint Photographic Experts Group);
  • PCX (Pacific Exchange);
  • PNG (Portable Network Graphics);
  • TIFF (Tagged Image File Format);
  • Windows Metafile.


2. Supported Export Settings

Stimulsoft Reports has built-in support for exporting to a file on the disk using the ExportDocument function of the StiReport object. The reporting framework also has the StiReportResponse class for exporting the report directly to the http response so users can download reports as files in a web application. When exporting to the http response it also provides export options listed below.

1) openDialog flag:
If this flag is set to true, it will force the user to download the file before opening and if the flag is set to false, it will allow the browse to open the application required to show the report. For example, if the export format is PDF and the show dialog flag is set to false, the browser will open Adobe Reader in the browse if it installed on the client computer and if the show dialog flag is set to true, the browser will prompt the user to download the report as file even if Adobe Reader viewer is installed on the client computer.

Example:
//set the StiReport report object
StiReport oSR = stiBooksReport.GetReport();
// Export report to pdf and force user to download the file
StiReportResponse.ResponseAsPdf(this, oSR, false);
// Export report to pdf and open Adobe Reader if available
StiReportResponse.ResponseAsPdf(this, oSR);
In the screen shot below, openDialog is set to false so the PDF opens in the embedded Acrobat Reader.

PDF opens in the embedded Acrobat Reader
In the screen shot below openDialog is set to true, so use is asked to Open, Save or Cancel depending on the browser.

Open, Save or Cancel depending on the browser
2) StiPagesRanges
If the programmer wants to define which pages of the report should be exported, they have the option of passing an object of the StiPagesRange class as a parameter to the export function. With the stiPagesRange programmers can export only one page or give page ranges to be exported.

Example:
//set the StiReport report object
StiReport oSR = stiBooksReport.GetReport();
// Export page 1
StiPagesRange oSPR = new StiPagesRange(1);
// Export report to pdf and open the file in browser
StiReportResponse.ResponseAsPdf(this, oSR, false, oSPR);

//set the StiReport report object
StiReport oSR = stiBooksReport.GetReport();
// Export pages 1 to 10
StiPagesRange oSPR = new StiPagesRange("1-10");
// Export report to pdf and open the file in browser
StiReportResponse.ResponseAsPdf(this, oSR, false, oSPR);
3) StiPdfExportSettings
This parameter allows the programmer to set advanced export settings listed below;
a) Compression flag – Enable/Disable compression of the PDF;
b) Creator string – Set the name of the creator;
c) Image Quality – Sets the image quality;
d) Image Resolution – Sets the image resolution;
e) Allow embedded fonts – Allow embedded fonts in the PDF;
f) Keywords – Keywords;
g) Password – Pdf security password;
h) Digital Certificates – Enable/Disable local digital signatures and certificates;
i) Page Range – Page range to be exported.

4) StiExcelExportSettings
This parameter can be used when exporting reports to Excel. The following advanced properties can be set;
a) ExportDataOnly – Export only data without formatting and images;
b) ExportEachPageToSheet – Export each report page to a new excel worksheet;
c) ExportObjectFormatting – Export the formatting for text, pictures and other objects;
d) ExportPageBreaks – Export page breaks for printing of sheets;
e) ImageQuality – Sets the image quality;
f) ImageResolution – Sets the image resolution;
g) PageRange – Page range to be exported;
h) UseOnePageHeaderAndFooter – Use only one page header and footer for the entire sheet;

In the screenshot below, Export Data only is set to false.

Export Data only is set to false
Export Data only is set to true

Export Data only is set to true

3. Add report to your web page

  • Drag and Drop StiWebReport from the toolbox to your webpage;
  • Click on the arrow on the top right corner of StiWebReport1 to show StiWebReport Tasks;
  • Click on Design Report to open the report Designer.

Add report to your web page

4. Add a new connection to the report

  • Find the Dictionary on the right side of the report designer;
  • Click on the New Item Icon and select New Connection;
  • Select SQL Connection and click OK;
  • Type the connection string for the MS Access Books database;
  • Click test to confirm that the connection string is correct.

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

5. Add a Data Source to the report

  • Click on the New Item icon the Dictionary pane and select New Data Source;
  • Select Data from SQL Connection and Click Ok;
  • Type the name of the query in the Name field as Sales;
  • Type the SQL query in the Query Text Field;
  • Click on Retrieve Columns to confirm that you have all the required columns;
  • Click Ok to see the Sales Datasource in the Dictionary Pane;
  • The following query has been used in the report;
  • Give a name to the data source so that it can used later.
Select * from Books
Add a Data Source to the report
Add a Data Source to the report

6. Add Table and Page Header to the report

  • Click on the AllBooks data source and drag it to the report;
  • Click on the Text tool on the toolbar and click on the Page Header to insert a label;
  • Format label to your requirements, this label will shown as the page header for each report.

Add Table and Page Header to the report

7. Add report to your web page

  • Design the report using the Report Designer and save the report file to a know location;
  • Drag and Drop StiWebReport from the toolbox to your webpage;
  • Click on the arrow on the top right corner of StiWebReport1 to show StiWebReport Tasks;
  • Click on Open Report from File;
  • Browse to the report file and click Open; the report is now loaded as a string in the aspx markup itself;
  • Add buttons for Export to PDF (ShowDialog is false), Export to PDF, Export to Word and Export to Excel.

Add report to your web page

8. Page load event

  • Get the report object from StiWebReport and set the report viewer source on page load event;
  • Assign report to the StiWebViewer to render and show the report.
protected void Page_Load(object sender, EventArgs e)
{
	// ignore the page request if images are beign loaded for report viewer
	if (stiRepViewerBooks.IsImageRequest) return;
	if (!IsPostBack)
	{
		//set the StiReport report object when page loads for the first time
		stiRepViewerBooks.Report = stiBooksReport.GetReport();
	}
}
9. Export Report on Export button click

  • Set the event handler for each export button to btnExport_Click;
  • Call StiReportResponse export functions based the sender object;
  • Export can be done by pressing one of the export buttons and the customer can see save dialog or not. It depends on ShowDialog parameter of the ResponseAsPdf method.
protected void btnExport_Click(object sender, EventArgs e)
{
	StiReport oSR = stiBooksReport.GetReport(); //set the StiReport report object
	oSR.Render(false);
	
	if (sender == btnExportPdfShowDialogIsfalse)
		StiReportResponse.ResponseAsPdf(this, oSR, false); // Export report as PDF with showDialog false
	if (sender == btnExportPdf)
		StiReportResponse.ResponseAsPdf(this, oSR); // Export report as PDF with showDialog true
	if (sender == btnExportWord)
		StiReportResponse.ResponseAsRtf(this, oSR); // Export report as a Word document
	if (sender == btnExportExcel)
		StiReportResponse.ResponseAsXls(this, oSR); // Export report as an Excel Sheet
}