在前文 Title

public virtual void SetParameterValue(string name, object val, string subreport)
    CrystalDecisions.CrystalReports.Engine.ReportDocument 的成员

摘要:
设置子报表中的参数字段的当前值。值可以是基元、ParameterValue、上述两种类型中某一种的数组或 ParameterValues 集合。

参数:
name: 参数字段的名称。
value: 表示一个有效的参数值。可以是基元、ParameterValue、上述两种类型中某一种的数组或 ParameterValues 集合。
subreport: 参数字段所属的子报表的名称。



value 是可以是一个ParameterValues的,所以解决方法也来了。

我们首先建立一个多值参数px,一个区域值参数py。
注意如果直接把px拖到模板上,会只显示第一个值。而py则直接不显示。
所以为了验证效果,做两个公式
fx: join({?px},',') //将值用,组合成一个字串
fy:Minimum ({?py})  //取最小的端点
这两个公式主要是为了验证显示效果的,与代码无关。

代码如下:
 1 //多值
 2         ParameterDiscreteValue pv;
 3         ParameterValues pvs = new ParameterValues();
 4         
 5         for (int i = 0; i < 5; i++)
 6         {
 7             pv = new ParameterDiscreteValue();
 8             pv.Value = i.ToString();
 9             pvs.Add(pv);
10 
11         }
12         
13         myReport.SetParameterValue("px", pvs);
14 
15         //区域值
16         pvs = new ParameterValues();
17         ParameterRangeValue pv1=new ParameterRangeValue();
18         pv1.StartValue=100;
19         pv1.EndValue = 200;
20         pvs.Add(pv1);
21         myReport.SetParameterValue("py", pvs);

这个是通过ReportDocument来传值的。
当然也可以传给CrystalReportViewer。

相关文章:

  • 2022-01-18
  • 2021-11-13
  • 2022-01-14
  • 2022-01-09
  • 2022-12-23
  • 2021-08-25
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-08-31
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案