SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

ComponentZine(ComponentOne)(AD)

SSRSレポートを表示する.NETアプリケーションの作成

ComponentOne Studioを活用したWindowsフォームアプリケーションの作成

  • このエントリーをはてなブックマークに追加

アプリケーションの作成

 では、アプリケーションを作成していきます。

 作成するアプリケーションは、C1SSRSDocumentSourceコントロールでサンプルのSSRSレポートを読み込み、C1PrintPreviewコントロールで表示します。解説の便宜上、サンプルSSRSレポート名はあらかじめアプリケーションに組み込みます。

GUIの作成

 使用するアプリケーションはC1PrintPreviewコントロールとC1SSRSDocumentSourceコンポーネントです。C1SSRSDocumentSourceコンポーネントは機能のみの提供でGUIを持ちません。

フォームのデザイン
フォームのデザイン

 なお、あらかじめSQL Server Reporting Services ReportServerを起動し、SSRSレポートファイル「Report 平成23年度秋冬野菜収穫量.rdl」をReportServerに配置してください。

 (1)新しいWindowsフォームのプロジェクトを作成し、フォームにC1PrintPreviewコントロールをドラッグ&ドロップします。コントロールはフォーム全体に広げておきます。

フォームにC1PrintPreviewコントロールをドラッグ&ドロップ
フォームにC1PrintPreviewコントロールをドラッグ&ドロップ

 (2)C1SSRSDocumentSourceコンポーネントをフォームにドラッグ&ドロップします。

C1SSRSDocumentSourceコンポーネントをフォームにドラッグ&ドロップ
C1SSRSDocumentSourceコンポーネントをフォームにドラッグ&ドロップ

 (3)C1SSRSDocumentSourceコンポーネントのスマートタグを開き、タスクトレイにある「C1SSRSDocumentSource1」をクリックしてチェックを付けます。これで、C1SSRSDocumentSourceコンポーネントとC1PrintPreviewコントロールが関連付けされます。

タスクトレイにある「C1SSRSDocumentSource1」をクリックしてチェックする
タスクトレイにある「C1SSRSDocumentSource1」をクリックしてチェックする

 (4)C1SSRSDocumentSourceコンポーネントを選択した状態で、プロパティウィンドウにあるDocumentLocationプロパティの横のドロップダウン矢印をクリックします。

ドロップダウン矢印をクリック
ドロップダウン矢印をクリック

 (5)ダイアログボックスが表示されますので、SSRSサーバーのアドレスを入力します。今回は、1台のコンピュータ上にネイティブモードでSSRSサーバーを起動していますので、サーバのアドレスは次のようになります。

http://localhost/ReportServer_SQLEXPRESS
SSRSサーバーの状態
SSRSサーバーの状態
SSRSサーバーのアドレスを入力
SSRSサーバーのアドレスを入力

 (6)レポートのパスを入力します。今回は、サーバのルートにレポートファイルを置いてあるので、そのままレポートファイル名を拡張子を付けずに入力します。

サーバのルートにレポートファイルを置いてある
サーバのルートにレポートファイルを置いてある
そのままレポートファイル名を拡張子を付けずに入力
そのままレポートファイル名を拡張子を付けずに入力

 サブフォルダに入れてあるのであれば、そのパスを入力します。例えば、「新しいフォルダー」に「Report 平成23年度秋冬野菜収穫量.rdl」があれば、「新しいフォルダー/Report 平成23年度秋冬野菜収穫量」と入力します。

「新しいフォルダ-」に「Report 平成23年度秋冬野菜収穫量.rdl」があれば
「新しいフォルダ-」に「Report 平成23年度秋冬野菜収穫量.rdl」があれば
「新しいフォルダー/Report 平成23年度秋冬野菜収穫量」と入力
「新しいフォルダー/Report 平成23年度秋冬野菜収穫量」と入力

 (7)SSRSサーバーへのログインユーザー名・パスワードが設定されていれば、プロパティウィンドウのConnectionOptionsプロパティグループを展開し、Credentialプロパティに入力します。ここでは、SSRSサーバーへのログインはWindows認証を使用しているので、特に設定はしていません。

プロパティウィンドウのConnectionOptions プロパティグループを展開し、Credentialプロパティに入力
プロパティウィンドウのConnectionOptions プロパティグループを展開し、Credentialプロパティに入力

 (8)以上で出来上がりです。実に簡単ですね。C1SSRSDocumentSourceコンポーネントとC1PrintPreviewコントロールを関連付けし、C1SSRSDocumentSourceコンポーネントにSSRSサーバのアドレスとレポートファイルの場所を設定するだけで、SSRSレポートファイルをアプリケーションで表示できます。表示したレポートは、印刷はもちろんのこと、いろいろな形式のドキュメントや画像にエクスポートできるようになります。

いろいろな形式のドキュメントや画像にエクスポートできるようになる
いろいろな形式のドキュメントや画像にエクスポートできるようになる

 (9)最後に、今のままではフォームを広げてもC1PrintPreviewコントロールは最初に設定したサイズのままになっています。

フォームを広げてもC1PrintPreviewコントロールは最初に設定したサイズのまま
フォームを広げてもC1PrintPreviewコントロールは最初に設定したサイズのまま

 これを、フォームのサイズに追従してC1PrintPreviewコントロールもサイズ変更できるようにします。方法は簡単で、コードでC1PrintPreviewコントロールのDockプロパティをFillに設定するだけです。

Visual Basic
Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
    C1PrintPreviewControl1.Dock = DockStyle.Fill
End Sub
C#
private void Form1_Load(object sender, EventArgs e)
{
    c1PrintPreviewControl1.Dock = DockStyle.Fill;
}
フォームのサイズに合わせてC1PrintPreviewコントロールもサイズ変更される
フォームのサイズに合わせてC1PrintPreviewコントロールもサイズ変更される

まとめ

 SSRSレポートは、単なる一覧表を作成できるだけでなく、画像やグラフ化したデータも組み込んだ高度なレポートを作成できる機能を持っています。ただし、そのレポート活用については十分な環境が用意されてはいないようです。

 C1SSRSDocumentSourceコンポーネントとC1PrintPreviewコントロールを使用すれば、このレポートを独自のアプリケーションに取り込むことができ、さらにレポートファイル名をリストで一覧表示し選択できるようにしたり、出力先のプリンタ選択や設定をアプリケーションに組み込むようにしたりすれば、SSRSレポートファイルをより活用できる幅が広がると思います。

参考文献

 各WebサイトのURLは予告なく変更される場合があります。

この記事は参考になりましたか?

  • このエントリーをはてなブックマークに追加
ComponentZine(ComponentOne)連載記事一覧

もっと読む

この記事の著者

瀬戸 遥(セト ハルカ)

8ビットコンピュータの時代からBASICを使い、C言語を独習で学びWindows 3.1のフリーソフトを作成、NiftyServeのフォーラムなどで配布。Excel VBAとVisual Basic関連の解説書を中心に現在まで40冊以上の書籍を出版。近著に、「ExcelユーザーのためのAccess再...

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

【AD】本記事の内容は記事掲載開始時点のものです 企画・制作 株式会社翔泳社

この記事は参考になりましたか?

この記事をシェア

  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/8646 2015/11/10 15:30

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング