[英]using Crystal Reports ReportDocument
我最近開始在ac#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;
}
}
}
試着擺脫@符號。 我目前正在圍繞同樣的想法建立一個程序,我沒有包含這個標志,沒有任何問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.