1

ユーザーが生成するレポートを選択できるフォームがあります。また、基準を選択し、印刷、プレビュー、エクスポートなどを選択することもできます。ユーザーが選択を行って [生成] ボタンをクリックすると、レポート オブジェクトを作成し、レポート、データセットを読み込み、印刷またはエクスポートするクラスが作成されます。レポート。レポートをプレビューするための別のフォームを作成しました。レポート オブジェクトをプレビュー フォームに渡すと、「レポート ソースが無効です」というメッセージが表示されます。レポートは正常に印刷およびエクスポートされますが、レポートをプレビューすることはできません。プレビュー フォームでコードを複製したくありません。レポート オブジェクトを渡すだけでよかったのです。私のコードのスニペットは以下のとおりです。助言がありますか?

public static class CrystalReportUtilities
{
    private static ReportDocument goReport {get; set;}
    private static string gsReportName { get; set; }
    private static string gsSqlString { get; set; }
    private static object[,] goParameters { get; set; }

    public static void generateReport(parameters...)
    {
      goReport = loadReport();
...
      goReport.SetDataSource(DataTable);
...
      previewReport();


    private static void previewReport()
    {
        CrystalReportPrintPreviewForm loReportPreview = new CrystalReportPrintPreviewForm(goReport);
        loReportPreview.ShowDialog();
    }


public partial class CrystalReportPrintPreviewForm : Form
{
    private ReportDocument goReport;

    public CrystalReportPrintPreviewForm(ReportDocument poReport)
    {
        InitializeComponent();

        goReport = poReport;
    }

    private void crystalReportViewer1_Load(object sender, EventArgs e)
    {
        try
        {
            if (goReport != null)
            {
                crystalReportViewer1.ReportSource = goReport;  // Receive "Invalid Report Source"
            }
        }
4

1 に答える 1

0

問題が解決しました。Windows 7、64 ビット OS で実行しています。私は最初に 64 ビットの Visual Studio 2010 用の Crystal Reports をインストールしました。SP4 では、ランタイムの 64 ビット バージョンと 32 ビット バージョンの両方が必要なようです。

于 2012-10-17T14:54:38.663 に答える