我有一个报告,我想在一个Web窗体显示。不带参数的报告正在漂亮而精致。带参数的报表创建头疼的我。这是$ C $词都写在BindReport方法,这就是所谓的形式的页面加载事件。
i have a report and i want to display it on a webform. Reports without parameters are working nice and fine. Reports with parameters are creating headache for me. this is the code i have written in BindReport method, which is called on page load event of the form.
ReportDocument rpt = new ReportDocument();
rpt.Load(Server.MapPath("rptPositionwiseMontwiseActualSale.rpt"));
rpt.FileName = Server.MapPath("rptPositionwiseMontwiseActualSale.rpt");
rpt.SetParameterValue("CompanyName", "Cirin Pharmaceutical Pvt. Limited".ToString());
rpt.SetParameterValue("ReportTitle", "PositionWise MonthWise Sales".ToString());
rpt.SetParameterValue("parameters", "Year:2011".ToString());
//CrystalReportViewer1.ParameterFieldInfo = paramFields;
DataSet ds = getReportData();
rpt.SetDataSource(ds.Tables[0]);
CrystalReportViewer1.ReportSource = rpt;
CrystalReportViewer1.ReuseParameterValuesOnRefresh = true;
//CrystalReportViewer1.RefreshReport();
我已经尝试过各种各样的事象分配ParameterFieldInfo到ReportViewer控件,但它让我提示在页面加载要求报告的参数值。 I M使用.NET 4.0 修改使用推模式水晶报表IM。它改变了我们可以传递参数从asp.net报告 感谢
i have tried variety of things like assigning ParameterFieldInfo to reportviewer control but, it shows me prompt on page load asking for parameter values of the report. i m using .NET 4.0 EDIT i m using push model for crystal reports. does it change the way we can pass parameters to report from asp.net thanks
在设定的参数值在运行时ASP.NET我觉得你需要做更多的工作不仅仅是一个名为 SetParameterValue
When setting Parameter values at runtime for ASP.NET I think you need to do a bit more work than just called SetParameterValue
string rptTitle = "This is Report Title";
rpt.SetParameterValue("ReportTitle", rptTitle);
ParameterDiscreteValue val = new ParameterDiscreteValue();
val.Value = rptTitle;
ParameterValues paramVals = new ParameterValues();
paramVals.Add(val);
rpt.ParameterFields["ReportTitle"].CurrentValues = paramVals;
rpt.DataDefinition.ParameterFields[0].ApplyCurrentValues(paramVals);
这可能是有点大材小用,但它实际工作,很适合我反正。你必须确保参数名称完全匹配。
This is probably a bit of overkill but it does actually work, well for me anyway. You must ensure that the parameter names match exactly.