从C#类文件调用报告

时间:2016-08-08 14:10:17

标签: c# .net oop crystal-reports

如何从C#类文件中调用现有的Crystal Report?

我在类文件中的方法有参数字符串CallCrystal(string num)。报告位于D:/Reports/EmployeDetails/,通过传入字符串输入显示员工详细信息。

该方法应将此字符串作为参数(num)发送,并将报告调用晶体报告。

1 个答案:

答案 0 :(得分:0)

您需要CrystalReportViewer控件。它有一个ReportSource属性,除其他外,可以将其设置为现有报告的路径,这是您的情况。为了添加参数,您还需要使用ParameterFieldInfo成员,该成员是ParameterFields的集合。设置如下:

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()来查看报告。