GrapeCity ActiveReports for .NET 16.0J
DataSet Windowsアプリケーション
ActiveReportsユーザーガイド > サンプルとチュートリアル > チュートリアル > 共通のチュートリアル(ページレポート/RDLレポート/セクションレポート > Web > DataSet Windowsアプリケーション

ActiveReportsでは、レポートのデータソースとしてデータセットを返すWebサービスを使用できます。このチュートリアルは、DataSet Webサービスを使用する、Windowsクライアントアプリケーションを設定する方法について紹介します。

このチュートリアルは、「DataSet Webサービス」の続きです。以下のタスクを行います。

VisualStudioプロジェクトにActiveReportを追加する

  1. Visual Studioで新規プロジェクトを開きます。
  2. [プロジェクト]メニューから[新しい項目の追加]を選択します。
  3. [新しい項目を追加]ダイアログから [ActiveReports 16.0Jセクションレポート(コード)]を選択し、名前を「rptProducts」に変更します。
  4. [追加]ボタンをクリックします。

レポートのレイアウトを作成する

  1. 以下のコントロールをrptProductsDetailセクションに追加します。

    TextBox1

    プロパティ名 プロパティの値
    DataField ProductName
    Name txtProductName
    Text/Caption 製品名
    OutputFormat (空白)
    Location 0, 0 in

    TextBox2

    プロパティ名 プロパティの値
    DataField UnitPrice
    Name txtUnitPrice
    Text/Caption 単価
    OutputFormat Currency
    Location 1.0625, 0 in
  2. Detailセクションのサイズを変更して、余分の白いスペースを削除します。

プロジェクトにWebサービス参照を追加する

.NET Framework 2.0 Webサービスに適合するVisual StudioプロジェクトのWebサービスへの参照を追加する

  1. プロジェクト名を右クリックし、メニューから[サービス参照の追加]を選択します。
  2. [サービス参照の追加]ウインドウで、[詳細設定]ボタンをクリックします。
  3. [サービス参照設定]ウインドウで、[Web参照の追加]ボタンをクリックします。
  4. [Web 参照の追加]ウィンドウで、[ローカル コンピューターの Web サービス]リンクをクリックします。
  5. 「DataSet Webサービス」チュートリアルで作成した仮想ディレクトリへのリンクをクリックします。 リンク先のURLは、http://localhost/WebService/Service1.asmxのようになります。
  6. Web サービスが認識されたら、[参照の追加]ボタンをクリックします。

Visual StudioプロジェクトのWebサービスへの参照を追加する

  1. プロジェクト名を右クリックし、メニューから[サービス参照の追加]を選択します。
  2. [サービス参照の追加]で、「DataSet Webサービス」チュートリアルで作成したData Set Web サービスの.asmxファイルのアドレスを入力します。アドレスは、「http://localhost/WebService/Service1.asmx」のようになります。
  3. [移動]ボタンをクリックし、Web サービスを確認して[OK]をクリックします。

レポートデータソースをWebサービスで返されたデータソースに設定する

レポートデータソースを設定する(.NET Framework 2.0 Webサービスに適合するVisual Studioプロジェクト)

  1. レポートの下にあるグレーの領域をダブルクリックします。これにより、ReportStartイベントのイベント処理メソッドが作成されます。
  2. レポートにWebサービスデータセットを使用するには、イベントハンドラにコードを追加します。

    Visual Basic

    Visual Basicコード(ReportStart内に貼り付けます)
    コードのコピー
    Dim ws As New localhost.Service1
    
    Dim ds As DataSet = ws.GetProduct()
    
    Me.DataSource = ds
    
    Me.DataMember = "Products"                                        
    

    C#

    C#コード(ReportStartイベント内に貼り付けます)
    コードのコピー
    localhost.DataSetWS ws = new localhost.Service1;
    
    System.Data.DataSet ds = ws.GetProduct();
    
    this.DataSource = ds;
    
    this.DataMember = "Products";                                        
    

レポートデータソースを設定する(Visual Studioプロジェクト)

  1. レポートの下にあるグレーの領域をダブルクリックします。これにより、ReportStartイベントのイベント処理メソッドが作成されます。
  2. レポートにWebサービスデータセットを使用するには、ハンドラにコードを追加します。

    Visual Basic

    Visual Basicコード(ReportStartイベント内に貼り付けます)
    コードのコピー
    Dim ws As New ServiceReference1.Service1SoapClient()
    
    Dim ds As DataSet = ws.GetProduct()
    
    Me.DataSource = ds
    
    Me.DataMember = "Products"
    

    C#

    C#コード(ReportStartイベント内に貼り付けます)
    コードのコピー
    ServiceReference1.Service1SoapClient ws = new ServiceReference1.Service1SoapClient();
    
    System.Data.DataSet ds = ws.GetProduct(); 
    
    this.DataSource = ds;
    
    this.DataMember = "Products";
    

app.configファイルを更新する(Visual Studio プロジェクト)

メモ: 前の手順で、Visual Studioプロジェクトプロジェクトにサービスの参照を追加した場合は、app.configファイルを更新する必要があります。
  1. [ソリューションエクスプローラー]で、app.configファイルを開きます。
  2. <binding name = "ServiceSoap"...>タグ内で、 maxBufferSizemaxReceivedMessageSizeを「200500」のように、大きな値に設定します。
  3. <readerQuotas...>タグ内で、maxArrayLengthを「60500」のように、大きな値に設定します。

レポートを表示する

レポートをViewerコントロールで開きます。詳細は「Windowsフォーム用のビューワの使用」を参照してください。