- PR -

ReportViewer 動的に変化するページ数

1
投稿者投稿内容
moco
ベテラン
会議室デビュー日: 2006/05/01
投稿数: 54
投稿日時: 2007-06-07 11:26
いつもお世話になっております。
どうか教えてください。

VisualStudio2005 C# にてWindowsアプリを作成しています。
ReportViewerを使い、印刷をしようと考えておりますが、
印刷対象のページ数が動的に変化し、どうrdlcファイルを用意して良いものか悩んでいます。
印刷内容の詳細は、書式やレイアウトは一緒で中身に入るデータが違うだけです。
1つのrdlcファイルを使いまわして、複数の印刷ページに仕立てることは可能でしょうか?
やっぱりこれもXML経由で触るのかな・・

印刷って意外にややこしいものなんですね。
印刷はActiveReportsやCrystalReportを買った方がいいでしょうか。(>n<)。
未記入
会議室デビュー日: 2007/12/05
投稿数: 2
投稿日時: 2007-12-05 20:13
私はASP.NET(VB)ですが、同様のことで悩んでいます。
別画面のGridView(上のCheckBox)で選択された分だけ、
rdlcで作成した帳票を出力したいのですが、
こういうことはできないのでしょうか?
momotchi
常連さん
会議室デビュー日: 2004/01/16
投稿数: 28
お住まい・勤務地: 宮城県
投稿日時: 2007-12-06 11:01
要はrdlcに対して複数の帳票になるデータソースをセットしてあげる
仕組みが必要です。(ストアドやSQL等々)
あとはrdlcが帳票Noによって改ページされる様に設定してあげるだけで
実現できると思います。
Atsuto
会議室デビュー日: 2007/12/06
投稿数: 2
投稿日時: 2007-12-06 13:42
動的に変化するデータについてもう少し具体的に教えてもらいたいのですが、どのようなデータでしょうか?

私の場合はデータベース(SQL Server 2005)内の、ある1つのテーブル内容をレポートのテーブルコントロールで表示すれば良いだけでしたので、特に問題はなかったのですが・・・。
(動的に変化するデータとして、データベースに印刷する直前のタイミングでレポート出力用のテーブルにデータを入れてやる、という処理にしました。レポート側は、そのテーブルのデータを全て表示します)

あとは、プログラムから印刷する事で問題が解決するのであれば、「LocalReport オブジェクトを使用した印刷」とGoogle等で検索すると出てくるMSDNのチュートアルが参考になります。
実績のあるソースは手元にありますが、記述すると長いんですよね・・・(笑
ちなみに、私は直接XMLファイルを触ったり等はしていません。
未記入
会議室デビュー日: 2007/12/05
投稿数: 2
投稿日時: 2007-12-06 15:26
みなさま、返信ありがとうございます。

momotchiさま
> 要はrdlcに対して複数の帳票になるデータソースをセットしてあげる
> 仕組みが必要です。(ストアドやSQL等々)
> あとはrdlcが帳票Noによって改ページされる様に設定してあげるだけで
> 実現できると思います。

今は複数行を返すDataTable(SQLの結果)を
LocalReportのデータソースにセットしていますが、
これでどうやったら1行あたり1枚のレポートとできるのかわかっていません。
簡単にいうと、例えばrdlcにTextBoxを1つだけ張り付けておいて、
TextBoxにあるFieldの値を表示できるようにしておくと
行数分のページのレポートができあがって
それぞれのページのTextBoxに表示される値がそれぞれの行の値になって欲しいです。

あと「帳票Noによって改ページされる様に設定してあげる」の
帳票Noとは何でしょうか?(すみません)

Atsutoさま
> 動的に変化するデータについてもう少し具体的に教えてもらいたいのですが、どのようなデータでしょうか?

前の画面で帳票に出力すべきデータの一部をGridViewに表示しています。
GriViewの各行にはCheckBoxを配置しておいて、
チェック(複数行可)した状態で帳票出力ボタンをクリックすると
行数分=枚数の帳票を表示させたいと思っています。
帳票自体にはGridViewで表示していたデータ+明細データを表示しますが、
明細データといっても必ず1ページに納まる程度です。

印刷については運用に任せる仕様です。
(印刷したい人はPDFでエクスポートしてから各自印刷)
Ahf
大ベテラン
会議室デビュー日: 2006/08/16
投稿数: 172
投稿日時: 2007-12-06 17:06
ReportViewerですとTableを使って、○行ごとに改ページとかを行えますが、
そういうのじゃダメでしょうか?
1

スキルアップ/キャリアアップ(JOB@IT)