PowerTools ActiveReports 9.0J Server 管理者ガイド
ReportList Webコントロールの使用
すべて展開すべて展開
すべて折りたたむすべて折りたたむ

ActiveReports 9.0J ServerのSDKに含まれているReportListコントロールを利用して、ActiveReports 9.0J Serverをインストールしたサイトからレポートの一覧を取得、各レポートをPDF、Word、Excel形式にエクスポートする機能を、ユーザーが開発した独自のアプリケーションの中に組み込むことができます。このチュートリアルでは、ログイン画面から資格情報を入力し、その情報をもとにサイトからレポートの一覧を取得する方法を紹介します。また、資格情報をWeb.configファイル内に埋め込んで一覧を取得する方法も紹介します。

ログインページを作成する

メモ: 資格情報をWeb.configファイルに埋め込んで実行する場合は、このセクションの手順は省略してください。
  1. Visual Studioで、新しいASP.NET Webサイトを作成します。
  2. 既定のWebフォーム(Default.aspx)のデザインビューを開き、ツールボックスの[標準]セクションから以下のコントロールをドラッグしてWebフォームのボディセクションにドロップしてから、各コントロールのプロパティを下の表のように設定します。

    ログインページのコントロール

  3. Visual Studioの[Webサイト]メニューから[新しい項目の追加]を選択します。
  4. [新しい項目の追加]ダイアログが表示されたら、[クラス]を選択して、名前を「SessionStorage.vb/SessionStorage.cs」として[追加]をクリックします。
  5. 「SessionStorage.vb/SessionStorage.cs」内のコードを以下に置き換えます。

    Visual Basic

    C#

  6. 「Default.aspx.vb/Default.aspx.cs」の先頭にあるImports/usingディレクティブのリストに、Servicing名前空間とApp_Code名前空間を使用する以下のコードを貼り付けます。

    Visual Basic

    C#

  7. Default.aspx上で、手順2で追加したボタンをダブルクリックしてボタンクリックイベントを作成します。ボタンクリックイベント内にカーソルが配置されます。
  8. ボタンクリックイベントに、ログイン画面で入力されたユーザーの資格情報からセキュリティトークンを取得する以下のコードを貼り付けます。

    Visual Basic

    C#

    注意: 後述の「ReportListコントロールをWebフォームに追加するには」の手順を実行し、「ActiveReports.Server.ReportControls.dll」への参照が追加されるまで、以下の行でエラーが発生します。

    Dim reportService = New ReportServiceProxy()
    または
    var reportService = new ReportServiceProxy();

  9. Web.configファイルで、以下のようなコードを使用して互換モードを有効にします。

    ASP.NETの互換モードを有効にする

WCFサービス用の.svcファイルを作成する

メモ: このセクションの手順は、ASP.NET Webサイトを使用する場合に必要です。ASP.NET Webアプリケーションを使用する場合は、ReportListコントロールをWebフォーム上にドロップしたときに、自動でサービスファイルが追加されるので、このセクションの手順は省略してください。

  1. Visual Studioの[Webサイト]メニューから[新しい項目の追加]を選択します。
  2. [新しい項目の追加]ダイアログが表示されたら、[WCFサービス]を選択して、名前を「ReportService.svc」として[追加]をクリックします。
  3. 「ReportService.svc」内のコードを以下に置き換えます。

    WCFサービス用の.svcファイルを作成する

  4. 以下のファイルがApp_Codeフォルダーに追加されていますが、不要なので削除します。
    • IReprotService.vb/IReprotService.cs
    • ReprotService.vb/ReprotService.cs

ReportListコントロールをWebフォームに追加する

  1. 2つ目のWebフォーム(Default2.aspx)をプロジェクトに追加します。(ログインページを作成しない場合は、既定のWebフォームに追加。)
  2. Webフォームのデザインビューを開き、ツールボックスからReportListコントロールをドラッグしてWebフォームのボディセクションにドロップします。

    ReportListコントロールをツールボックスに追加する手順については、ここをクリックして展開してください。

  3. メッセージボックスが表示されたら、[はい]をクリックします。そうすると、.svcファイルがWebサイトに自動的に追加され、レポートリストからプロキシサービスにアクセスできるようになります。

    メモ: ASP.NET Webサイトを使用する場合、.svcファイルは自動で追加されません。前述の「WCFサービス用の.svcファイルを作成するには」の手順を行い、「ReportService.svc」を手動で追加してください。

  4. [プロパティ]ウィンドウで、ServerEndpointRootPathプロパティを、サイト内のすべてのURLのベースとして使用するURLに設定します。これで、サイト内のURLを相対URLとして設定できます。("localhost:8080"の部分は、ActiveReports 9.0J Serverをインストールしたサイトのアドレスとポートに置き換えます。)

    メモ: ASP.NET Webサイトを使用する場合、ReportServicePathプロパティは自動で設定されないので、手動で「ReportService.svc」のファイルのパスを設定してください。

  5. コントロールのサイズを変更する場合は、プロパティグリッドでWidthプロパティを変更します。

メモ: 設計時に、ReportListコントロールを日本語化して使用するには、グローバルアセンブリキャッシュ(GAC)に以下のアセンブリファイルをインストールする必要があります。これらのファイルは、デフォルトでは...\ActiveReports 9.0J Server\SDKフォルダ、および...\ActiveReports 9.0J Server\SDK\jaフォルダに配置されています。

 ・ActiveReports.Server.ReportControls.dll

 ・ActiveReports.Server.ReportControls.resources.dll

グローバルアセンブリキャッシュへのインストール方法は、以下のMSDNライブラリ等を参照してください。

 MSDNライブラリ

 [方法 : グローバル アセンブリ キャッシュにアセンブリをインストールする]

 https://msdn.microsoft.com/ja-jp/library/default.aspx


サーバーから取得したレポートの一覧をReportListコントロールで表示する

方法1: グローバルアプリケーションクラスのコードを使用してセキュリティトークンとActiveReports 9.0J Serverホストを指定する。

方法2: Webアプリケーションのweb.configファイルでユーザー名、パスワード、およびActiveReports 9.0J Serverホストを指定する。

実行時に、ReportListコントロールはActiveReports 9.0J Serverからすべてのレポートを取得し、各レポートをPDF、Word、およびExcelにエクスポートするボタンが作成されます。

 

 


Copyright © 2015 GrapeCity inc.