*ステップ 1. * 私のプログラムは、管理者から Crystal Report (XI sp6) テンプレートを取得します。テンプレートを解析してそこから SQL を取得し、データを入力して各 SQL の DataTable を取得します。
*ステップ 2. *その後、次のコードを使用して DataTables を ReportDocument にプッシュし、レポートを作成します。
// there no subreport in our template
//mainDS include all populated DataTable having the same name of related CR Command Alias
foreach (Table tab in doc.Database.Tables)
tab.SetDataSource(mainDS.Tables[tab.Name]);
問題は (Crystal Report のバグではないかと思います): テンプレートに 2 つのコマンドがある場合、コードtab.SetDataSource(mainDS.Tables[tab.Name]);
が doc.Database.Tables[0] に対して実行されるdoc.Database.Tables[1].Fields
と同じにdoc.Database.Tables[0].Fields
なり、エラーが発生するためです。 .
すべてのテンプレートでこのエラーが発生するわけではありません:(。すべてのテンプレートはCrystal Report GUIでうまく機能しました!!!
バグでない場合は助けてください、または回避方法を教えてください!
Crystal Report XI Developer Editionを使用しています最新パック、VS2005、Oracle 10g、Devart DotConnect for Oracle 無料版。