次の方法で共有


LocalReport クラス

レポート サーバーに接続せずにローカルで処理されて表示されるレポートを表します。

名前空間: Microsoft.Reporting.WebForms
アセンブリ: Microsoft.ReportViewer.WebForms (microsoft.reportviewer.webforms.dll 内)

構文

'宣言
<SerializableAttribute> _
Public NotInheritable Class LocalReport
    Inherits Report
    Implements ISerializable
'使用
Dim instance As LocalReport
[SerializableAttribute] 
public sealed class LocalReport : Report, ISerializable
[SerializableAttribute] 
public ref class LocalReport sealed : public Report, ISerializable
/** @attribute SerializableAttribute() */ 
public final class LocalReport extends Report implements ISerializable
SerializableAttribute 
public final class LocalReport extends Report implements ISerializable

解説

LocalReport クラスは、レポート サーバーに接続せずにローカルで処理されて表示されるレポートを表します。このクラスは、ReportViewer コントロールが使用するオブジェクトと同じですが、ReportViewer コントロールのコア機能をカプセル化する非表示オブジェクトとして個別に使用することもできます。

LocalReport オブジェクトによってファイル システムからクライアントのレポート定義 (RDLC) ファイルを開くか、または RDLC ファイルを Stream または TextReader として供給することができます。

LocalReport オブジェクトにはクエリの実行やデータのフェッチ機能はありません。データを ADO.NET DataTables のインスタンスまたはビジネス オブジェクトのコレクションとして指定する必要があります。

LocalReport オブジェクトはレポート パラメータをサポートしますが、クエリ パラメータをサポートしません。

次のコード例では、LocalReport オブジェクトをレポートの読み込みとエクスポートに使用しています。

protected void Button1_Click(object sender, EventArgs e)
{

   Microsoft.Reporting.WebForms.LocalReport lr = 
     new Microsoft.Reporting.WebForms.LocalReport();

   string deviceInfo =
     "<DeviceInfo>" +
     "<SimplePageHeaders>True</SimplePageHeaders>" + 
     "</DeviceInfo>";

   lr.ReportPath = @"C:\My Reports\Monthly Sales.rdlc";

   lr.DataSources.Add(new ReportDataSource("Sales", GetSalesData()));

   byte[] bytes = lr.Render("Excel", deviceInfo, out mimeType, 
     out encoding, out streamids, out warnings);

      using (FileStream fs = new FileStream(@"c:\My Reports\Monthly Sales.xls", FileMode.Create))
      {
        fs.Write(bytes, 0, bytes.Length);
        fs.Close();
      }
}
Protected Sub Button1_Click(ByVal sender As 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 deviceInfo as string
   Dim bytes As Byte()

   Dim lr As New Microsoft.Reporting.WebForms.LocalReport

   lr.ReportPath = "C:\My Reports\Monthly Sales.rdlc"

   lr.DataSources.Add(New ReportDataSource("Sales", GetSalesData()))

   deviceInfo = _
"<DeviceInfo><SimplePageHeaders>True</SimplePageHeaders></DeviceInfo>"

   bytes = ReportViewer1.LocalReport.Render("Excel", deviceInfo,_
      mimeType, encoding, extension, streamids, warnings)

   Dim fs As New FileStream("c:\output.xls", FileMode.Create)
   fs.Write(bytes, 0, bytes.Length)
   fs.Close()

End Sub

継承階層

System.Object
   Microsoft.Reporting.WebForms.Report
    Microsoft.Reporting.WebForms.LocalReport

スレッド セーフ

この型のすべてのパブリックな静的 (Visual Basic では Shared) メンバは、スレッド セーフです。すべてのインスタンス メンバが、スレッド セーフであることは保証されていません。

参照

リファレンス

LocalReport メンバ
Microsoft.Reporting.WebForms 名前空間