クリック可能にせずにVSクリスタルレポートでサブレポート/マスター詳細を作成する方法は?
-
06-07-2019 - |
質問
多くの場合、Visual StudioのCrystal Reportsでレポートを作成していますが、マスター/ディテールまたは1対多タイプのものが必要です。このようなもの:
Invoice Number 13245
Total: $1,000,000
Date Raised: 1-Jan-1989
Date Due: 1-Jan-2019
Line items:
# Desc Cost
1 Hat 23.00
2 Gloves 7.00
3 Walking Stick 999,970.00
このシンプルなものに単一のデータセットを使用し、「親」値でグループ化できますが、通常、複数のタイプの詳細行があるか、詳細レコードのグラフが必要です。データセット:親レコード用と子レコード用の1つ。
これに常にアプローチしてきた方法は、1つのデータセットに基づいてレポートを作成し、レポートにサブレポートを追加して、子レコードに別のデータセットを使用することです。これは正常に機能し、正しく見えます。つまり、レポートを実行すると、すべてのデータが1つのビューに表示され、すべてのレコードに合うように詳細セクションが展開されます。ただし、サブレポートは常にクリック可能であり、それが私の問題です。ユーザーがサブレポート、つまり子レコードやグラフ、またはそこにあるものをクリックすると、サブレポートに移動します。彼らにとって奇妙なのは、そのセクションの詳細を含む新しい「ページ」が表示されるからです。
本当に欲しいのは、サブレポートで今やっているように、複数のデータセットに基づいてレポートを作成する方法ですが、ユーザーがそれらのサブレポートをクリックしてドリルダウンできないようにすることです。私はこれを行う方法を考えたことがありません。それは、私がすべて間違っているのか、Crystal Reportsの制限に近づいているだけなのか、それとも解決策があるのですか?
Visual Studio 2005に付属のCrystal Reportsを使用しています。
解決
サブレポートをダブルクリックすると、常にドリルダウンタブが開きます。これは製品の機能です。
オプション1: ドリルダウン機能を採用し、それを使用してユーザーエクスペリエンスを向上させます。
オプション2: 請求書と明細の詳細を含む単一のデータセットを使用します。請求書番号に関するレポートをグループ化し、合計をグループのヘッダーセクションに配置します。 [詳細]セクションを使用して、明細を表示します。複数のセクションを使用できることを忘れないでください。これは、グラフを(2番目のグループヘッダーセクションに)表示するのに役立つ場合があります。
クエリをコードに組み込むのではなく、レポートに組み込むことを検討することもできます。これにより、レポートとコードが大幅に簡素化され、レポートとコードの保守が容易になります。