加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

.net – 从webforms将参数传递给Crystal报表

发布时间:2020-12-16 10:00:02 所属栏目:asp.Net 来源:网络整理
导读:我有一个报告,我想在网络表单上显示它.没有参数的报告工作得很好而且很好.带参数的报告让我感到头痛.这是我用BindReport方法编写的代码,它在窗体的页面加载事件中调用. ReportDocument rpt = new ReportDocument(); rpt.Load(Server.MapPath("rptPositionwis
我有一个报告,我想在网络表单上显示它.没有参数的报告工作得很好而且很好.带参数的报告让我感到头痛.这是我用BindReport方法编写的代码,它在窗体的页面加载事件中调用.

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控件,但它会显示我在页面加载时提示询问报告的参数值.我使用的是.NET 4.0
编辑我使用推模型进行水晶报告.它是否会改变我们将参数传递给asp.net报告的方式
?谢谢

解决方法

在运行时为ASP.NET设置参数值时,我认为您需要做的工作比调用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);

这可能有点矫枉过正,但实际上确实有用,对我来说也是如此.您必须确保参数名称完全匹配.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读