如何从C#类文件中调用现有的Crystal Report?
我在类文件中的方法有参数字符串CallCrystal(string num)
。报告位于D:/Reports/EmployeDetails/
,通过传入字符串输入显示员工详细信息。
该方法应将此字符串作为参数(num)发送,并将报告调用晶体报告。
答案 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()来查看报告。