kinber 发表于 2015-3-24 17:56:00

传参数出错

RDL报表,设置好参数后,预览,提示输入报表。可以正常显示。

用asp.net绑定参数
            PageReport report = new PageReport(new System.IO.FileInfo(Server.MapPath("/Rpt/check_steal.rdlx")));
            ParameterValueparameterValue = new ParameterValue();
            parameterValue.Value = caseId;
            report.Document.Parameters.DefaultValues.Add(parameterValue);

            WebViewer1.Report = report;

caseId是参数值,querystring变量。

但是运行的时候,提示: 错误:该报表存在错误,不能被正常处理

kinber 发表于 2015-3-24 18:08:00

PageReport report = new PageReport(new System.IO.FileInfo(Server.MapPath("/Rpt/check_steal.rdlx")));
            report.Document.Parameters["CaseId"].CurrentValue = caseId;
            WebViewer1.Report = report;

            report.Run();

这样的方式,也是错误

frank.zhang 发表于 2015-3-24 18:09:00

您好,
我实现了一个RDL参数的例子

      protected void Page_Load(object sender, EventArgs e)
      {
            LoadPageReport("Orders","10248");
      }

      private void LoadPageReport(string report,string id)
      {
            GrapeCity.ActiveReports.PageReport report1 = null;
            report1 = new GrapeCity.ActiveReports.PageReport(new System.IO.FileInfo(Server.MapPath("/Reports/" + report + ".rdlx")));
            report1.Report.DataSources.DataSourceReference = "";
            report1.Report.DataSources.ConnectionProperties.DataProvider = "OLEDB";
            report1.Report.DataSources.ConnectionProperties.ConnectString = string.Format("Provider=Microsoft.Jet.OLEDB.4.0;Data Source={0};", Server.MapPath("/Data/NWind_CHS.mdb"));
            report1.Report.ReportParameters.DefaultValue.Values.Add(id);
            WebViewer1.Report = report1;
      }









kinber 发表于 2015-3-24 18:16:00

和 用sql client 有关系没有?

frank.zhang 发表于 2015-3-24 18:20:00

您好,
没有关系。我只是演示方便才使用Access。删除以下语句。
            report1.Report.DataSources.DataSourceReference = "";
            report1.Report.DataSources.ConnectionProperties.DataProvider = "OLEDB";
            report1.Report.DataSources.ConnectionProperties.ConnectString = string.Format("Provider=Microsoft.Jet.OLEDB.4.0;Data Source={0};", Server.MapPath("/Data/NWind_CHS.mdb"));

kinber 发表于 2015-3-24 18:27:00

删除了一样有问题。这样,我把报表发过来,你看看

kinber 发表于 2015-3-24 18:28:00

回复 6楼kinber的帖子


kinber 发表于 2015-3-24 18:41:00

查询中的? 不能输入,输入后提示错误。

frank.zhang 发表于 2015-3-25 08:56:00

您好,
我发现您的报表中使用的SQL没有使用?,输入时直接确定就可以了,带参数会报一个错误,可以直接确定。

kinber 发表于 2015-3-25 09:41:00

问题出错在,内嵌的一个table没有绑定数据集。但是软件没有提示错误,在设计器和查看器中都能正常使用,但是集成到asp.net就出现错误,而且提示错误信息很简单。
页: [1] 2
查看完整版本: 传参数出错