从c#类文件调用报告



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

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

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

您需要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,但在您的示例中也包括path),最后调用host.Show()来查看报告。

最新更新