質問

Crystal Reportsでツリー構造を表現する方法を知っている人はいますか? 私の大きな問題は、ツリーの深さがわからないということです。データベーステーブルでは、単純な" childId->で表されます。 parentId"関係。

完璧な例は、Windowsエクスプローラーを開き、左側のディレクトリツリーを確認することです。誰かがそのツリーを表現する方法を知っているなら、それは私がやらなければならないことでも動作します。

最初の試行は次のとおりです:

1)プログラムで(C#で)グループをレポートに追加します。残念ながら、Groupクラスの新しいインスタンスを作成してGroupsコレクションに追加することはできません。

2)各レベルで同じレポートを再帰的にネストします。言い換えれば:

mainReport
  subReport
    subReport
    subReport
  subReport
  subReport
    subReport

etc ...

残念ながら、サブレポートにサブレポートを含めることはできません。

X個のグループをレポートに追加して不要なグループを非表示にしたくないのは、ネストされたグループを固定数追加する必要があるためですが、技術的にはデータ設計でサポートできます実際には最大で約5レベルの深度が見られますが、無限の深度です。

では、他にアイデアはありますか?

役に立ちましたか?

解決

Crystal XIは階層グループを追加しました。これは、[レポート]メニューの下にあります。これを使用して、nレベルの深さで簡単な組織図レポートを作成しました。データベーステーブルは次のようなものです。   id   名   managerId

Crystal Reportでは、これらの列を選択し、IDでグループ化します。次に、「階層グループ化オプション」の下で[レポート]の下のメニューで、[データを階層的にグループ化する]、親ID managerId、および適切にインデントをオフにします。

出力は、エクスプローラーで説明したツリーのようなものです。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top