我使用参数字段使用带有C#和Crystal Reports的Visual Studio 2008进行报告。我试图在参数字段中添加多个数据,但是当我运行报表时,我只能看到一行。
我使用此代码将多个值添加到Details部分中名为smena的String参数字段。
ReportDocument rptDnevenManuelna = new ReportDocument();
rptDnevenManuelna.Load(Server.MapPath("~/crptDnevenManuelna.rpt"));
ParameterField smena_field = rptDnevenManuelna.ParameterFields["smena"];
smena_field.CurrentValues.Clear();
smena_field.EnableAllowMultipleValue = true;
ParameterDiscreteValue smena_value = new ParameterDiscreteValue();
smena_value.Value = "1";
smena_field.CurrentValues.Add(smena_value);
smena_value = new ParameterDiscreteValue();
smena_value.Value = "2";
smena_field.CurrentValues.Add(smena_value);
crvDnevenManuelna.ReportSource = rptDnevenManuelna;
我也尝试使用此代码:
rptDnevenManuelna.SetParameterValue("smena", new String[] { "1", "2", "3" });
尝试过这样:
rptDnevenManuelna.SetParameterValue("smena","1");
rptDnevenManuelna.SetParameterValue("smena","2");
当我调试我的代码的最后一行“crvDnevenManuelna.ReportSource = rptDnevenManuelna;”我可以在rptDnevenManuelna中清楚地看到 - > ParameterFields - > [0] - >当前值 - > Count = 2,此参数字段有2个值。显示我的报告时,我只能看到第一行。在设计器视图中,我将此参数字段设置为允许多个值。我认为我的错误应该在报告的设计中,因为当我在显示之前重置我的报告时,我可以在字段“smena”中放置多个值,并且仍然在提交后我只得到一行。
答案 0 :(得分:0)
您的报告中有记录过滤器吗?你在过滤器中使用“=”或“in”吗?