使用Crystal Reports ReportDocument

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用Crystal Reports ReportDocument相关的知识,希望对你有一定的参考价值。

我最近开始在c#windows应用程序(表单)中使用Visual Studio 2010和SharpDevelop的最新版Crystal Reports。我从SAP下载了最新的Visual Studio 2010 Crystal DLL,并手动创建了对以下内容的引用

using CrystalDecisions.CrystalReports;
using CrystalDecisions.CrystalReports.Engine;
using CrystalDecisions.ReportSource;

然后我创建一个ReportDocument,以便我可以打开一个rpt文件:

ReportDocument rptDoc = new ReportDocument();

这一切都很好。当我尝试使用rtpDoc对象做任何事情时,问题就出现了;

rptDoc.Load(@"c:DialLeadsByDistributor.rpt");

就好像编译器没有意识到它是一个类对象,尽管事实上当我将鼠标放在变量上时它会正确地报告为CrystalDecisions.CrystalReports.Engine.ReportDocument,但智能感知不仅没有向我显示对象的任何方法或属性,我得到了以下编译器错误让我难过:

无效的标记'('在类,结构或接口成员声明中

它将上述陈述称为违规行......

任何人都可以对此有所了解吗?如果我查看ReportDocument类的元数据,它确实包含三个Load方法,第一个方法接受一个字符串,即rpt文件路径。在Visual Studio 2010和SharpDevelop中出现此问题的事实至少是一致的,但对我来说仍然没有意义。

答案

试试这个代码......它在VS2010和sharpdevelop4中都有效:

using System;
using System.Drawing;
using System.Windows.Forms;
using CrystalDecisions.CrystalReports;
using CrystalDecisions.CrystalReports.Engine;
using CrystalDecisions.ReportSource;
using CrystalDecisions.Windows.Forms;

namespace myapp
{

public partial class tstfrm1 : Form
{
    public tstfrm1()
    {

        InitializeComponent();

        ReportDocument rptDoc = new ReportDocument();
        rptDoc.Load(@"C:CrystalReport1.rpt");
        /*If you have a datasource, link it like below*/
        //rptDoc.SetDataSource(dataset.Tables["tripsheet"]);
        CrystalReportViewer crystalReportViewer1 = new CrystalReportViewer();
        crystalReportViewer1.ReportSource = rptDoc;
        crystalReportViewer1.Refresh(); 
        this.Controls.Add(crystalReportViewer1);
        crystalReportViewer1.Dock = DockStyle.Fill;
    }
}

}

另一答案

试着摆脱@符号。我目前正在围绕同样的想法建立一个程序,我没有包含这个标志,没有任何问题。

以上是关于使用Crystal Reports ReportDocument的主要内容,如果未能解决你的问题,请参考以下文章

解决正确案例Crystal Reports

Crystal Reports中的条件总和?

Crystal Reports - “您要求的报告需要更多信息”

Crystal Reports 使用多个表格 - 不能完全正确

如何使用 SQL 填充 Crystal Reports

Crystal Reports动态分组