- - PR -
CrystalReportViewrのレポート表示時
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2003-03-14 18:36
お世話になっています。
WindowsアプリケーションでCrystalReportViewr+DataSetを使用してレポートを表示させているのですが、このReportViewrは全ページを作成してから表示しているようです。 単純なデータ一覧22ページ程度のデータで表示までの時間が3〜4分と、あまりに表示までに時間がかかりすぎて困っています。 最初のページを作成した時点でレポートを表示されるようにはできないのでしょうか。 またレポート表示のパフォーマンスを上げる方法はあるのでしょうか。 よろしくお願いいたします。 | ||||
|
投稿日時: 2003-03-17 17:41
質問に対する具体的な解決策でないので恐縮ですが、
3〜4分は、ちょっと時間がかかりすぎだと思います。 参考までに、私も20ページ程度の帳票をTogさんと(おそらく)同じ方法で 表示させましたが、せいぜい長くて30秒〜40秒といったところでした。 何か具体的なソース等があれば検討も可能かと思いますが…。 | ||||
|
投稿日時: 2003-03-17 20:27
てつさん。お返事ありがとうございます。
ソースといっても
のようにCrystalReportViewrを置いたフォームにデータとレポートを投げているだけなのです。 ただレポート内でテーブルを4つほどLeftOwner+InnerJoinでリレーションさせているため、この辺りが重たくなる原因なのではと考えて、組み合わせを変えてみたりしたのですが、なかなか改善されません。 WindowsFormコントロールのReportViewrではなく、製品のCrystalReportプレビューでは 1ページが作成された時点で表示していたと思うのですが、ReportViewrでは無理なのでしょうか。 さすがに表示までに数分というのは時間がかかりすぎて、実用できなくなります。 | ||||
|
投稿日時: 2003-03-18 14:40
確かに、よく考えたら表示自体の部分に関してはあまり手の入れようも無いですね(笑)
私のやり方を説明しますと、基本的にはレポート表示時にあまり余計な処理は入れないようにしました。 Togさんの状況に合わせてみますと、4つのテーブルをJOINしたテーブルを作ってしまいまして、そのJOINテーブルに入れる処理はレポートの表示とは別の場所でやっておいて、レポート表示では一つのテーブル(JOINテーブル)からだけ表示させるような形にしました。 あと、 CrystalDecisionsのCR9とCRfor.NETの比較のページに、ビューの項目で「アドホックレポート作成」という機能がCR9にはあってCRfor.NETにはないのですが、これがもしかしたら「最初のページを表示した時点でレポート表示する機能」でしょうか? そうすると.NET版では全部作成してから出ないと表示できないことになりますが… http://japan.crystaldecisions.com/products/crystalreports/net/editioncomparison.asp [ メッセージ編集済み 編集者: てつ 編集日時 2003-03-18 14:45 ] | ||||
|
投稿日時: 2003-03-18 20:45
>私のやり方を説明しますと、基本的にはレポート表示時にあまり余計な処理は入れないようにしました。
なるほどなるほど。お返事ありがとうございます。 この方法だとよけいな処理がない分処理速度が遅くなることはないですね。 あまりに遅いようなので作り直してみます。 「アドホックレポート作成」とはもっと高度な帳票作成のようですね〜(笑) |
1