2016-08-08 35 views
-3

如何從我的C#類文件調用現有的Crystal Report?來自C#類文件的調用報告

我在類文件中的方法有參數字符串CallCrystal(string num)。該報告位於D:/Reports/EmployeDetails/,它通過傳入字符串輸入顯示員工詳細信息。

該方法應該將此字符串作爲參數(num)發送並將報告調用至水晶報告。

回答

0

您需要CrystalReportViewer控件。這有一個ReportSource屬性,可以將其設置爲現有報告的路徑,這是您的情況。爲了添加參數,您還需要使用ParameterField的集合ParameterFieldInfo成員。設置如下:

ParameterFields paramFlds = new ParameterFields(); 
ParameterField param = new ParameterField(); 
ParameterDiscreteValue paramVal = new ParameterDiscreteValue(); 
param.Name = "myName"; 
paramVal.Value = myValue; 
param.CurrentValues.Add(paramVal); 
paramFlds.Add(param); 

我使用一個單一的「主機」形式只包含一個控件,CrystalReportViewer。爲了查看報告,我創建了這個表單的一個實例,傳遞了我需要的任何參數(至少是ParameterFieldInfo,但在你的情況下也包括路徑),最後調用host.Show()來查看報表。