チュートリアル : ローカル処理モードでのビジネス オブジェクト データ ソースと ReportViewer Web サーバー コントロールの使用

このチュートリアルでは、Microsoft Visual Studio 2008 ASP.NET アプリケーションのレポートでオブジェクト データ ソースを使用する方法について説明します。ビジネス オブジェクトとオブジェクト データ ソースの詳細については、「ビジネス オブジェクトへのバインディング」を参照してください。

Visual Studio ASP.NET Web サイト プロジェクトにレポートを追加するには、次の手順を実行します。この例では、Microsoft Visual C# でアプリケーションを作成します。

新しい ASP.NET Web サイト プロジェクトの作成

  1. [ファイル] メニューの [新規作成] をポイントし、[Web サイト] をクリックします。

  2. [新しい Web サイト] ダイアログ ボックスで、[言語] ドロップダウン リストから [Visual C#] を選択し、ASP.NET Web サイトのテンプレートを選択します。

  3. [場所] で [HTTP] を選択し、Web サイトの URL を入力します。既定の URL は https://localhost/WebSite です。[OK] をクリックします。既定の Web ページが、コード ビューで開きます。

データ ソースとして使用するビジネス オブジェクトの作成

  1. ソリューション エクスプローラで、(http:// で始まる) プロジェクト Web サイトを選択します。右クリックし、[新しい項目の追加] をクリックします。

  2. [新しい項目の追加] ダイアログ ボックスで [クラス] を選択し、ファイル名として「BusinessObjects.cs」と入力して、[追加] をクリックします。

  3. "クラスを 'App_Code' フォルダに配置しますか?" というメッセージ表示されたら、[はい] をクリックします。新しいファイルがプロジェクトに追加され、Visual Studio で自動的に開きます。

  4. BusinessObjects.cs の既定のコードを次のコードで置換します。

    using System;
    using System.Collections.Generic;
    
    // Define the Business Object "Product" with two public properties
    //    of simple datatypes.
    public class Product {
        private string m_name;
        private int m_price;
    
        public Product(string name, int price) {
            m_name = name;
            m_price = price;
        }
    
        public string Name {
            get {
                return m_name;
            }
        }
    
        public int Price {
            get {
                return m_price;
            }
        }
    }
    
    // Define Business Object "Merchant" that provides a 
    //    GetProducts method that returns a collection of 
    //    Product objects.
    
    public class Merchant {
        private List<Product> m_products;
    
        public Merchant() {
            m_products = new List<Product>();
            m_products.Add(new Product("Pen", 25));
            m_products.Add(new Product("Pencil", 30));
            m_products.Add(new Product("Notebook", 15));
        }
    
        public List<Product> GetProducts() {
            return m_products;
        }
    }
    
  5. [ビルド] メニューの [ソリューションのビルド] をクリックします。これによりオブジェクトのアセンブリが作成されます。プロジェクトにレポートを追加すると、ビジネス オブジェクト [製品] が [Web サイト データ ソース] ウィンドウに表示されます。

プロジェクトへのレポートの追加

  1. プロジェクト Web サイトまたはプロジェクト項目がソリューション エクスプローラで選択されていることを確認します。

  2. プロジェクト Web サイトを右クリックし、[新しい項目の追加] をクリックします。

  3. [新しい項目の追加] ダイアログ ボックスで [レポート] をクリックします。レポート名を入力して、[追加] をクリックします。レポートがプロジェクトに追加され、レポート デザイナで自動的に開きます。レポートの既定の名前は Report.rdlc です。

[Web サイト データ ソース] ウィンドウの確認

  1. Report.rdlc[デザイン] タブをクリックします。左のペインで [Web サイト データ ソース] タブをクリックします。[Web サイト データ ソース] タブが表示されていない場合は、[データ] メニューの [データ ソースの表示] をクリックします。

  2. Product オブジェクトを確認すると、その 2 つのパブリック プロパティの NamePrice[Web サイト データ ソース] ウィンドウの階層に表示されます。

レポートのデザイン

  1. レポートをデザイン モードで開いた状態で、ツールボックスを開きます。ツールボックスから、テーブル コントロールをレポートにドラッグします。タブ付きの [デザイン] ウィンドウにテーブル コントロールが開きます。

  2. [Web サイト データ ソース] ウィンドウから、[Product] データ ソースの [Name] フィールドをテーブルの詳細行の最初の列にドラッグします。詳細行は中央の行です。詳細行を指定すると、ヘッダー行が自動的に入力されます。

  3. [Price] フィールドを 2 列目の詳細行にドラッグして、[Name] フィールドの横になるようにします。

  4. (省略可) 左側のテーブル ヘッダー アイコンをクリックしてテーブルのヘッダー行を選択し、太字フォント スタイルを適用します。

  5. 使用されていない列を削除します。3 番目の列をクリックして、ヘッダー バーをクリックし、Del キーを押します。

  6. レポートにタイトルを追加するには、ツールボックスを開いて、テキスト ボックスをレポートにドラッグします。テキスト ボックスをテーブルの上に配置します。レポート名として「Products」と入力します。

  7. (省略可) フォント サイズとフォント スタイルをテキストに適用して、タイトルが目立つようにします。

Web ページへの ReportViewer コントロールの追加

  1. ソリューション エクスプローラDefault.aspx を右クリックし、デザイン ビューで既定の Web ページを選択して、[ビュー デザイナ] を選択します。

  2. ツールボックスを開きます。ツールボックス[データ] ノードを展開し、[ReportViewer] アイコンを Web ページにドラッグします。

  3. ReportViewer コントロールを選択し、右上隅の三角形をクリックして、スマート タグ パネルを開きます。[レポートの選択] ドロップダウン リストをクリックし、デザインしたレポートを選択します。既定の名前は、c:\inetpub\wwwroot\WebSite\Report.rdlc です。ObjectDataSource コントロールは ReportViewer コントロールのすぐ下に表示され、データ テーブルの TableAdapter コンポーネントによって構成した DataTable のコンテンツを取得するように自動的に設定されるので注意してください。

アプリケーションの実行

  • F5 キーを押してデバッグ機能をオンにして実行するか、Ctrl キーを押しながら F5 キーを押してデバッグ機能なしで実行し、レポートを表示します。

参照

リファレンス

Microsoft.Reporting.WinForms.ReportViewer.Drillthrough
Microsoft.Reporting.WinForms.LocalReport.SubreportProcessing
Microsoft.Reporting.WebForms.ReportViewer.Drillthrough
Microsoft.Reporting.WebForms.LocalReport.SubreportProcessing

概念

ReportViewer タスクのスマート タグ パネルの使用

その他のリソース

サンプルとチュートリアル