C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[9]: CrystalReportについて教えてください。


(過去ログ 16 を表示中)

[トピック内 11 記事 (1 - 11 表示)]  << 0 >>

■6182 / inTopicNo.1)  CrystalReportについて教えてください。
  
□投稿者/ ジャガー (1回)-(2007/08/03(Fri) 15:34:28)

分類:[C#] 

こんにちは、今回、初めて質問させていただくジャガーと申します。

質問なのですが、本日より.NET2003C#、WindowsアプリケーションにてCrystalReportというものを使って帳票を作成することになったのですが、これまで名前すら知らなかったこともあり、使い方がぜんぜんわかりません。とりあえず調べたりして、画面に表示させたりすることはできたのですが、任意のテキストなどの値の渡し方がわかりません。

現状としましては、From1にてSQLを発行、その内容をDataGridに表示させています。次に、From2にCrystalReportを貼り付けて、作成したCrystalReport1.rptをReportsourceを設定しています。

ここまではなんとなくでもできたのですが、CrystalReportのテキストなどにDataGridでの内容を渡し印刷できるようにしたいのですが、可能でしょうか?また可能であればどのような手順が必要なのか、教えてくださるとありがたいです。
引用返信 編集キー/
■6183 / inTopicNo.2)  Re[1]: CrystalReportについて教えてください。
□投稿者/ 特攻隊長まるるう (78回)-(2007/08/03(Fri) 15:48:50)
No6182 (ジャガー さん) に返信
以下のキーワードでgoogle検索してみてください。
『クリスタルレポート 入門』
引用返信 編集キー/
■6185 / inTopicNo.3)  Re[1]: CrystalReportについて教えてください。
□投稿者/ じゃんぬねっと (449回)-(2007/08/03(Fri) 16:04:35)
No6182 (ジャガー さん) に返信
> ここまではなんとなくでもできたのですが、CrystalReportのテキストなどにDataGridでの内容を渡し印刷できるようにしたいのですが、

DataGrid の内容を渡すのであれば今の方法 (アンバウンド レポートと言います) でやるのが一般的です。
表組みのデータは DataSource を使った方法で十分スマートです。

質問内容からは反れますが、それ以外の 「単体のデータ」 を渡すのであれば、FieldObject を使います。
これについて知りたい場合は @IT 会議室を 「FieldObject」 で検索すると良いと思います。
http://www.atmarkit.co.jp/bbs/phpBB/search.php?term=FieldObject&addterms=any&sortby=-1&searchboth=both
引用返信 編集キー/
■6217 / inTopicNo.4)  Re[2]: CrystalReportについて教えてください。
□投稿者/ ジャガー (2回)-(2007/08/06(Mon) 12:57:41)
No6185 (じゃんぬねっと さん) に返信
> ■No6182 (ジャガー さん) に返信
>>ここまではなんとなくでもできたのですが、CrystalReportのテキストなどにDataGridでの内容を渡し印刷できるようにしたいのですが、
>
> DataGrid の内容を渡すのであれば今の方法 (アンバウンド レポートと言います) でやるのが一般的です。
> 表組みのデータは DataSource を使った方法で十分スマートです。
>
> 質問内容からは反れますが、それ以外の 「単体のデータ」 を渡すのであれば、FieldObject を使います。
> これについて知りたい場合は @IT 会議室を 「FieldObject」 で検索すると良いと思います。
> http://www.atmarkit.co.jp/bbs/phpBB/search.php?term=FieldObject&addterms=any&sortby=-1&searchboth=both

いろいろ教えてくださって、本当に申し訳ないのですが自分の理解力がないせいかアンバウンドレポートなどが上手く理解できません・・・。

流れとしましては、テキストボックスに入力された日付をSQLでSELECTし、リストボックスにデータを表示させる→そのデータを選択すると、ラベル1〜10それぞれに値が入り、その値がDataGridに表示される→違うデータを選択するとDataGridにその内容が追加されてゆく、というものです。

http://www.hirano.cc/crystalreports/

上記のサイトを参照しながらレポートに表示させているのですが、最初の1件しか表示されません。また、複数行あるデータの出力なども試してみましたけど、だめでした。

どのようにしてクリスタルレポートに上手く表示させてあげればいいのでしょうか?


引用返信 編集キー/
■6228 / inTopicNo.5)  Re[3]: CrystalReportについて教えてください。
□投稿者/ ひろ (4回)-(2007/08/06(Mon) 14:46:41)
今回初めてクリスタルレポートをプログラムでご使用になっているようですので、まずは基本からやるべきだと思います。

特効隊長さんが回答で示してくれた「検索」はされましたか?
クリスタルレポートではかなり有名な「むかむか クリスタルレポート入門」がすぐヒットします。
まずは、このあたりを良く読んで、出来れば実際に書いてあることを実践してみてください。
書いてある内容と、ご自分の環境とは全く一緒ではないでしょうが、かなり役立つと思います。

全く一緒でないと判らないというのであれば、クリスタルレポートでの開発は無理だと思いますので、他の方法を考えた方がよいと思います。

また、じゃんぬねっとさんから出た「アンバウンドレポート」が理解できないとのことですが、これについて調べた(無論、プログラムで確かめた)場合、どこが判らないのか、実際に作成したソースを元に話すと、説明が受けられるかもです。

引用返信 編集キー/
■6259 / inTopicNo.6)  Re[4]: CrystalReportについて教えてください。
□投稿者/ ジャガー (3回)-(2007/08/07(Tue) 09:57:10)
2007/08/07(Tue) 10:06:15 編集(投稿者)

No6228 (ひろ さん) に返信
> 今回初めてクリスタルレポートをプログラムでご使用になっているようですので、まずは基本からやるべきだと思います。
>
> 特効隊長さんが回答で示してくれた「検索」はされましたか?
> クリスタルレポートではかなり有名な「むかむか クリスタルレポート入門」がすぐヒットします。
> まずは、このあたりを良く読んで、出来れば実際に書いてあることを実践してみてください。
> 書いてある内容と、ご自分の環境とは全く一緒ではないでしょうが、かなり役立つと思います。
>
> 全く一緒でないと判らないというのであれば、クリスタルレポートでの開発は無理だと思いますので、他の方法を考えた方がよいと思います。
>
> また、じゃんぬねっとさんから出た「アンバウンドレポート」が理解できないとのことですが、これについて調べた(無論、プログラムで確かめた)場合、どこが判らないのか、実際に作成したソースを元に話すと、説明が受けられるかもです。


おはようございます。あれからいろいろ模索したのですが、DataSetに値を入れたのですが、そこから先が上手くいきません。現在は下記のようにコーディングしております。

OracleConnection oracon = new OracleConnection();
oracon.ConnectionString =
"user id=hoge;" +
"password=hoge;" +
"Data Source = test";
oracon.Open();

OracleDataAdapter oleda;
DataSet ds = new DataSet("明細");
oleda = new OracleDataAdapter("SELECT(略)",oracon)
oleda.Fill(ds,"明細");

dataGrid1.DataSource = ds.Tables[0];

CrystalReport1 cr = new CrystalReport1();
cr.SetDataSource(ds.Tables[0]);

crystalReportViewer1.ReportSource = cr;
引用返信 編集キー/
■6285 / inTopicNo.7)  Re[5]: CrystalReportについて教えてください。
□投稿者/ ひろ (5回)-(2007/08/07(Tue) 15:38:23)
あれ?
ジャガーさん、クリスタルレポートファイル(拡張子がrptのもの)は作成されていますか?
あれがないと、クリスタルレポートオブジェクトを作成しても、何もなりませんよ。

参照:http://www.hirano.cc/crystalreports/show_on_CrystalReports.html

引用返信 編集キー/
■6289 / inTopicNo.8)  Re[6]: CrystalReportについて教えてください。
□投稿者/ ジャガー (4回)-(2007/08/07(Tue) 16:05:30)
No6285 (ひろ さん) に返信
> あれ?
> ジャガーさん、クリスタルレポートファイル(拡張子がrptのもの)は作成されていますか?
> あれがないと、クリスタルレポートオブジェクトを作成しても、何もなりませんよ。
>
> 参照:http://www.hirano.cc/crystalreports/show_on_CrystalReports.html
>

作成はしました。

しかし、ds.Table["明細"]とどのように関連付けたらいいのかがちょっとわからず、手間取ってしまっています・・・
引用返信 編集キー/
■6294 / inTopicNo.9)  Re[7]: CrystalReportについて教えてください。
□投稿者/ ひろ (7回)-(2007/08/07(Tue) 16:33:36)
私が示したページ(http://www.hirano.cc/crystalreports/)の「入門編風」とある箇所は一読して頂いたでしょうか?
多少古いので、戸惑うかもしれませんが、ほぼ期待通りの内容であると思うのですが…

そこには「オリジナルのデータセットを定義する」と書いてあるはずです。
Fillで動的に作成するのではなく、テーブルの型を定義しておく必要があります。
^^^^^^^^^^^^
たぶん、ここがポイントのような気がします。

次に、クリスタルレポートファイルを作成して、データセットを反映します。
「クリスタルレポートで見てみる」と書いてあるところの内容です。
クリスタルレポートファイルを作成した時、フィールドエクスプローラが表示されます。
データセットの追加は、そのページにやり方が書いてあると思います。
以降、そのページのようにするだけです。

これでクリスタルレポートの表示定義ファイルとデータセットが作成されたので、
@定義ファイルからクリスタルレポートのオブジェクトを作成
Aデータセットにデータを設定
Bクリスタルレポートのオブジェクトにデータセットを設定
で表示できると思います。

引用返信 編集キー/
■6299 / inTopicNo.10)  Re[8]: CrystalReportについて教えてください。
□投稿者/ ジャガー (5回)-(2007/08/07(Tue) 16:42:33)
No6294 (ひろ さん) に返信
> 私が示したページ(http://www.hirano.cc/crystalreports/)の「入門編風」とある箇所は一読して頂いたでしょうか?
> 多少古いので、戸惑うかもしれませんが、ほぼ期待通りの内容であると思うのですが…
>
> そこには「オリジナルのデータセットを定義する」と書いてあるはずです。
> Fillで動的に作成するのではなく、テーブルの型を定義しておく必要があります。
> ^^^^^^^^^^^^
> たぶん、ここがポイントのような気がします。
>
> 次に、クリスタルレポートファイルを作成して、データセットを反映します。
> 「クリスタルレポートで見てみる」と書いてあるところの内容です。
> クリスタルレポートファイルを作成した時、フィールドエクスプローラが表示されます。
> データセットの追加は、そのページにやり方が書いてあると思います。
> 以降、そのページのようにするだけです。
>
> これでクリスタルレポートの表示定義ファイルとデータセットが作成されたので、
> @定義ファイルからクリスタルレポートのオブジェクトを作成
> Aデータセットにデータを設定
> Bクリスタルレポートのオブジェクトにデータセットを設定
> で表示できると思います。


ありがとうございます、なんとかできました。またもう一つ質問で恐縮なのですが、DataGridに表示されている行が複数にわたっている場合、どのようにして値を渡せばいいでしょうか?

何から何まですいません。
引用返信 編集キー/
■6304 / inTopicNo.11)  Re[9]: CrystalReportについて教えてください。
□投稿者/ ひろ (10回)-(2007/08/07(Tue) 17:10:57)
DataGridに複数行が表示される

DataSet.Tables[0].Row.Countが1以上あるってことですよね。

クリスタルレポートファイルの定義ってこんな感じだったと思いますよ。
判りづらいかもしれませんがw

【印刷されるページ内容】 【定義の内容】
┌──────────┐
│ページヘッダ │←ページヘッダの定義内容(最初のページだけ)
├──────────┤
│最初のページのヘッダ│←ヘッダの定義内容(nページの最初)
├──────────┤
│詳細その1 │←詳細1行分の定義内容(ここに表示するカラムをドロップ?)
├──────────┤
│… │※以下n行表示される
├──────────┤
│詳細そのn │
├──────────┤
│最初のページのフッタ│←フッタの定義内容(nページの最後
├──────────┤
│… │
│… │
│… │
├──────────┤
│最後のページのヘッダ│
├──────────┤
│詳細その1 │
├──────────┤
│… │
├──────────┤
│詳細そのn │
├──────────┤
│最後のページのフッタ│
├──────────┤
│ページフッタ │←ページフッタの定義内容(最後のページだけ)
└──────────┘

詳細行に、あるテーブルの内容を設定したのであれば、そのテーブルのデータ個数だけ詳細行が繰り返し表示されるはずですし、1ページで表示できなければ2ページ、3ページ…と自動的に表示します。

引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -