// 声明将参数传递给查看器控件所需的变量。 ParameterFields paramFields = new ParameterFields (); ParameterField paramField = new ParameterField (); ParameterDiscreteValue discreteVal = new ParameterDiscreteValue (); ParameterRangeValue rangeVal = new ParameterRangeValue (); // 第一个参数是具有多个值的离散参数。设置参数字段的名称,它必须和报表中的参数相符。 paramField.ParameterFieldName = "客户姓名"; // 设置第一个离散值并将其传递给该参数。 discreteVal.Value = "AIC Childrens"; paramField.CurrentValues.Add (discreteVal); // 设置第二个离散值并将其传递给该参数。discreteVal 变量被设置为新值,这样,以前的设置就不会被覆盖。 discreteVal = new ParameterDiscreteValue (); discreteVal.Value = "Aruba Sport"; paramField.CurrentValues.Add (discreteVal); // 将该参数添加到参数字段集合。 paramFields.Add (paramField); // 第二个参数为区域值。paramField 变量被设置为新值,这样,以前的设置就不会被覆盖。 paramField = new ParameterField (); // 设置参数字段的名称,它必须和报表中的参数相符。 paramField.ParameterFieldName = "客户 ID"; // 设置范围的开始值和结束值并将该范围传递给该参数。 rangeVal.StartValue = 42; rangeVal.EndValue = 72; paramField.CurrentValues.Add (rangeVal); // 将第二个参数添加到参数字段集合。 paramFields.Add (paramField); // 将参数字段集合放入查看器控件。 crystalReportViewer1.ParameterFieldInfo = paramFields;
下面是我自己的应用:
public void OnePage(CrystalReportViewer crystalReportViewer,int a) { ParameterFields paramFields = new ParameterFields(); ParameterField paramField = new ParameterField(); ParameterDiscreteValue discreteVal = new ParameterDiscreteValue(); // 第一个参数是具有多个值的离散参数。设置参数字段的名称,它必须和报表中的参数相符。 paramField.ParameterFieldName = "ARC_I_ID"; // 设置离散值并将其传递给该参数。 discreteVal.Value = id; paramField.CurrentValues.Add(discreteVal); // 将该参数添加到参数字段集合。 paramFields.Add(paramField); // 将参数字段集合放入查看器控件。 crystalReportViewer.ParameterFieldInfo = paramFields; }
第一段代码有两个参数字段,第二个代码有一个参数字段。