1

更新:ここでより一般的な質問をしました: Crystal Reportsで2つのレベルのリンクを実行できますか?

VB.NETおよびVisualStudio2005内でCrystalReportsを使用しています。

いくつかのサブレポートを含むレポートがあります。メインレポートのデータソースとしてList(Of MainStuff)を設定しています。サブレポートのデータソースとしてList(Of SubreportStuff)を設定しています。各SubreportStuffには、特定のMainStuffにリンクするキーがあるため、レポートは各MainStuffアイテムを関連するSubreportStuffアイテムとグループ化します。(または、DBレベルでは、SubreportStuffアイテムには、MainStuffの主キーである外部キーがあります。)

以下は、CrystalReportsViewerを含むダイアログのロード関数を示しています。Crystal Reportsレポートエディタ(VS 2005内)で、関連するアイテムのみをレポートのその部分にプルするようにサブレポートリンクを設定しました。

Imports System.Windows.Forms

    Public Class dlgMyReport
        Private rpt As New MyReport
        Public theMainList As New List(Of MainStuff)
        Dim theSubreportList As New List(Of SubreportStuff)

        Private Sub dlgMyReport_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
            rpt.SetDataSource(theMainList)

            If theSubreportStuff.Count > 0 Then
                rpt.Subreports.Item("subReport").SetDataSource(theSubreportList)
            End If

            Me.StuffViewer.ReportSource = rpt
        End Sub

        ... ' other subs and functions

    End Class

これは正常に機能します。

しかし、今、私がしなければならないことは、本質的に同じことですが、サブレポート項目のキーに基づいて項目をプルします。これは、サブレポート内にサブレポートがあることを意味します。ただし、これを実行できるようには見えません(すでにサブレポートになっているものを挿入しようとすると、サブレポートを挿入するためのオプションがグレー表示されます)。

これを達成する方法はありますか?(サブレポートの関係を何らかの方法で別のレベルに下げることはできますか?)

いつもありがとう!

4

1 に答える 1

3

サブレポート内のサブレポートは、CrystalReports内では使用できません。

于 2010-01-30T04:51:59.703 に答える