C#2010でCRAXDDRTを使用してクリスタルサブレポートをループしようとしていますが、問題が発生しています。このようなVB6コードをたくさん見つけました...
Dim crxDatabaseTables As CRAXDRT.DatabaseTables
Dim crxDatabaseTable As CRAXDRT.DatabaseTable
Dim crxSections As CRAXDRT.Sections
Dim crxSection As CRAXDRT.Section
Dim CRXReportObject As Object
For Each crxSection In crxSections
For Each CRXReportObject In crxSection.ReportObjects
If CRXReportObject.Kind = crSubreportObject Then
' loop code here
End If
Next
Next
これはVB6で見た目も機能も優れていますが、CRXReportObjectはオブジェクトであるため、C#では機能しません。
If CRXReportObject.Kind = crSubreportObject Then
...「Kind」はオブジェクトのメソッドではないため、機能しません。誰かがこれを回避するための提案がありますか?誰かがCrystalReportActiveXオブジェクトを使用しないことを提案する前に、私たちはできません。私たちはそれに固執しています...これはこれまでのコードです...
foreach (CRAXDDRT.Section section in crystalReport.Sections)
{
foreach (object item in section.ReportObjects)
{
//If item.Kind = crSubreportObject Then
//loop code here
//}
}
}