- - PR -
ReportViewer 動的に変化するページ数
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2007-06-07 11:26
いつもお世話になっております。
どうか教えてください。 VisualStudio2005 C# にてWindowsアプリを作成しています。 ReportViewerを使い、印刷をしようと考えておりますが、 印刷対象のページ数が動的に変化し、どうrdlcファイルを用意して良いものか悩んでいます。 印刷内容の詳細は、書式やレイアウトは一緒で中身に入るデータが違うだけです。 1つのrdlcファイルを使いまわして、複数の印刷ページに仕立てることは可能でしょうか? やっぱりこれもXML経由で触るのかな・・ 印刷って意外にややこしいものなんですね。 印刷はActiveReportsやCrystalReportを買った方がいいでしょうか。(>n<)。 |
|
投稿日時: 2007-12-05 20:13
私はASP.NET(VB)ですが、同様のことで悩んでいます。
別画面のGridView(上のCheckBox)で選択された分だけ、 rdlcで作成した帳票を出力したいのですが、 こういうことはできないのでしょうか? |
|
投稿日時: 2007-12-06 11:01
要はrdlcに対して複数の帳票になるデータソースをセットしてあげる
仕組みが必要です。(ストアドやSQL等々) あとはrdlcが帳票Noによって改ページされる様に設定してあげるだけで 実現できると思います。 |
|
投稿日時: 2007-12-06 13:42
動的に変化するデータについてもう少し具体的に教えてもらいたいのですが、どのようなデータでしょうか?
私の場合はデータベース(SQL Server 2005)内の、ある1つのテーブル内容をレポートのテーブルコントロールで表示すれば良いだけでしたので、特に問題はなかったのですが・・・。 (動的に変化するデータとして、データベースに印刷する直前のタイミングでレポート出力用のテーブルにデータを入れてやる、という処理にしました。レポート側は、そのテーブルのデータを全て表示します) あとは、プログラムから印刷する事で問題が解決するのであれば、「LocalReport オブジェクトを使用した印刷」とGoogle等で検索すると出てくるMSDNのチュートアルが参考になります。 実績のあるソースは手元にありますが、記述すると長いんですよね・・・(笑 ちなみに、私は直接XMLファイルを触ったり等はしていません。 |
|
投稿日時: 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でエクスポートしてから各自印刷) |
|
投稿日時: 2007-12-06 17:06
ReportViewerですとTableを使って、○行ごとに改ページとかを行えますが、
そういうのじゃダメでしょうか? |
1