水晶报表,传递参数,一个参数传递多个值,为什么只显示一个?

robincrystal 2012-04-21 12:05:55
高手,我用的是vs2008的自带的水晶报表
报表里面设置了离散值的参数"客户姓名",并勾选了允许多个值的复选框
代码如下
ParameterFields paramFields = new ParameterFields();
ParameterField paramField = new ParameterField();
ParameterDiscreteValue discreteVal = new ParameterDiscreteValue();//--离散值
ParameterRangeValue rangeVal = new ParameterRangeValue();//--区域值
// 假设第一个参数是具有多个值的离散参数。
// 设置参数字段的名称,它必须和报表中的参数相符。
paramField.ParameterFieldName = "客户姓名";

// 设置第一个离散值并将其传递给该参数。
discreteVal.Value = "Jeason";
paramField.CurrentValues.Add(discreteVal);
//// 设置第二个离散值并将其传递给该参数。
discreteVal = new ParameterDiscreteValue();
discreteVal.Value = "Hank";
paramField.CurrentValues.Add(discreteVal);

// 将该参数添加到参数字段集合。
paramFields.Add(paramField);
CrystalReportSource1.ReportDocument.Load(Server.MapPath("CrystalReport.rpt"));
//CrystalReportSource1.ReportDocument.SetDataSource(ds.Tables["sql"]);
CrystalReportSource1.DataBind();
CrystalReportViewer1.ReportSource = CrystalReportSource1;
CrystalReportViewer1.DataBind();
但结果是只显示"Jeason",一个值,显示"Hank",求解
...全文
188 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
test2050 2012-04-23
  • 打赏
  • 举报
回复
// 将该参数添加到参数字段集合。
paramFields.Add(paramField);

只追加了一次??

//// 设置第二个离散值并将其传递给该参数。的前面追加一句paramFields.Add(paramField);试试。
jinming_song 2012-04-23
  • 打赏
  • 举报
回复
我也正有这个问题
robincrystal 2012-04-21
  • 打赏
  • 举报
回复
求高手啊

62,267

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧