我是C#的新手,我正在尝试使用水晶报表查看器查看已创建的水晶报表。但是我希望用户能够根据用户端的一些输入过滤报告的结果,我不允许在水晶报告本身中创建这些参数字段。是否可以以编程方式从c#ASP.net Web表单传递字段和值,而无需在Crystal报表中声明这些参数。
我尝试过以下操作但不起作用:
ParameterFields paramFields = new ParameterFields();
ParameterField paramField = new ParameterField();
ParameterDiscreteValue dv = new ParameterDiscreteValue();
paramField.ReportName = "SiteDetailsFull.rpt";
paramField.Name = "Site Name";
dv.Value = DropDownList1.SelectedItem.Text;
paramField.CurrentValues.Add(dv);
paramFields.Add(paramField);
aquaRptViewer.ParameterFieldInfo = paramFields;
答案 0 :(得分:0)
您不能在未在报表中声明的情况下传递参数。
但是您可以使用公式来添加约束,然后将其传递给报告以根据需要获取数据过滤器。
示例:
formula = " FiledName = Some filter date ";
reportClass.RecordSelectionFormula = reportClass.RecordSelectionFormula + formula;