LocalReport.Render Method (String, String, out String, out String, out String, out String[], out Warning[])
Processes the report and renders it in the specified format.
Namespace: Microsoft.Reporting.WinForms
Assembly: Microsoft.ReportViewer.WinForms (in microsoft.reportviewer.winforms.dll)
Syntax
'Declaration
Public Overrides Function Render ( _
format As String, _
deviceInfo As String, _
<OutAttribute> ByRef mimeType As String, _
<OutAttribute> ByRef encoding As String, _
<OutAttribute> ByRef fileNameExtension As String, _
<OutAttribute> ByRef streams As String(), _
<OutAttribute> ByRef warnings As Warning() _
) As Byte()
'Usage
Dim instance As LocalReport
Dim format As String
Dim deviceInfo As String
Dim mimeType As String
Dim encoding As String
Dim fileNameExtension As String
Dim streams As String()
Dim warnings As Warning()
Dim returnValue As Byte()
returnValue = instance.Render(format, deviceInfo, mimeType, encoding, fileNameExtension, streams, warnings)
public override byte[] Render (
string format,
string deviceInfo,
out string mimeType,
out string encoding,
out string fileNameExtension,
out string[] streams,
out Warning[] warnings
)
public:
virtual array<unsigned char>^ Render (
String^ format,
String^ deviceInfo,
[OutAttribute] String^% mimeType,
[OutAttribute] String^% encoding,
[OutAttribute] String^% fileNameExtension,
[OutAttribute] array<String^>^% streams,
[OutAttribute] array<Warning^>^% warnings
) override
public byte[] Render (
String format,
String deviceInfo,
/** @attribute OutAttribute() */ /** @ref */ String mimeType,
/** @attribute OutAttribute() */ /** @ref */ String encoding,
/** @attribute OutAttribute() */ /** @ref */ String fileNameExtension,
/** @attribute OutAttribute() */ /** @ref */ String[] streams,
/** @attribute OutAttribute() */ /** @ref */ Warning[] warnings
)
JScript does not support passing value-type arguments by reference.
Parameters
- format
The format in which to render the report. This argument maps to a rendering extension. Supported formats include Microsoft Office Excel, PDF, and Image.
- deviceInfo
An XML string that contains the device-specific content that is required by the rendering extension specified in the format parameter. For more information about device information settings for specific output formats, see "Device Information Settings" in SQL Server Books Online.
- mimeType
[out] The MIME type of the rendered report.
- encoding
[out] The encoding used when rendering the contents of the report.
- fileNameExtension
[out] The file name extension used for the output file.
- streams
[out] The stream identifiers. You can use them to render external resources (images, for example) that are associated with the report.
- warnings
[out] An array of Warning objects that describes any warnings that occurred during report processing.
Return Value
A Byte array of the report in the specified format.
Remarks
The Render method can be used to export and print a report.
Example
The following code example assumes a Windows Forms application with a ReportViewer control and a button. In this code example, a local report is loaded into and rendered in the control and then the Render method is used to export the report to Excel format.
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using Microsoft.Reporting.WinForms;
using System.IO;
namespace SampleCode
{
public partial class Form1 : Form
{
private DataTable LoadSalesData()
{
// Load data from XML file.
DataSet dataSet = new DataSet();
dataSet.ReadXml(@"c:\Reports\data.xml");
return dataSet.Tables[0];
}
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
this.reportViewer1.ProcessingMode = ProcessingMode.Local;
this.reportViewer1.LocalReport.ReportPath = @"c:\Reports\Report1.rdl";
reportViewer1.LocalReport.DataSources.Add(
new ReportDataSource("Sales", LoadSalesData()));
this.reportViewer1.RefreshReport();
}
private void button1_Click(object sender, EventArgs e)
{
Warning[] warnings;
string[] streamids;
string mimeType;
string encoding;
string extension;
byte[] bytes = reportViewer1.LocalReport.Render(
"Excel", null, out mimeType, out encoding, out extension,
out streamids, out warnings);
FileStream fs = new FileStream(@"c:\output.xls", FileMode.Create);
fs.Write(bytes, 0, bytes.Length);
fs.Close();
MessageBox.Show("Report exported to output.xls", "Info");
}
}
}
Imports Microsoft.Reporting.WinForms
Imports System.IO
Public Class Form1
Private Function LoadSalesData() As DataTable
'' Load data from XML file
Dim dataSet = New DataSet
dataSet.ReadXml("c:\Reports\data.xml")
Return dataSet.Tables(0)
End Function
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
ReportViewer1.ProcessingMode = ProcessingMode.Local
ReportViewer1.LocalReport.ReportPath = "c:\Reports\Report1.rdl"
Dim myDataSource = New ReportDataSource("Sales", LoadSalesData())
ReportViewer1.LocalReport.DataSources.Add(myDataSource)
Me.ReportViewer1.RefreshReport()
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim warnings As Warning() = Nothing
Dim streamids As String() = Nothing
Dim mimeType As String = Nothing
Dim encoding As String = Nothing
Dim extension As String = Nothing
Dim bytes As Byte()
bytes = ReportViewer1.LocalReport.Render("Excel", Nothing, mimeType, _
encoding, extension, streamids, warnings)
Dim fs As New FileStream("c:\output.xls", FileMode.Create)
fs.Write(bytes, 0, bytes.Length)
fs.Close()
MessageBox.Show("Report exported to output.xls", "Info")
End Sub
End Class
See Also
Reference
LocalReport Class
LocalReport Members
Microsoft.Reporting.WinForms Namespace