找回密码
 立即注册

QQ登录

只需一步,快速开始

kinber

中级会员

33

主题

89

帖子

533

积分

中级会员

积分
533

活字格认证微信认证勋章元老葡萄

kinber
中级会员   /  发表于:2015-3-24 17:56  /   查看:7516  /  回复:11
RDL报表,设置好参数后,预览,提示输入报表。可以正常显示。

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

            WebViewer1.Report = report;

caseId是参数值,querystring变量。

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

11 个回复

倒序浏览
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参数的例子

  1.         protected void Page_Load(object sender, EventArgs e)
  2.         {
  3.             LoadPageReport("Orders","10248");
  4.         }

  5.         private void LoadPageReport(string report,string id)
  6.         {
  7.             GrapeCity.ActiveReports.PageReport report1 = null;
  8.             report1 = new GrapeCity.ActiveReports.PageReport(new System.IO.FileInfo(Server.MapPath("/Reports/" + report + ".rdlx")));
  9.             report1.Report.DataSources[0].DataSourceReference = "";
  10.             report1.Report.DataSources[0].ConnectionProperties.DataProvider = "OLEDB";
  11.             report1.Report.DataSources[0].ConnectionProperties.ConnectString = string.Format("Provider=Microsoft.Jet.OLEDB.4.0;Data Source={0};", Server.MapPath("/Data/NWind_CHS.mdb"));
  12.             report1.Report.ReportParameters[0].DefaultValue.Values.Add(id);
  13.             WebViewer1.Report = report1;
  14.         }
复制代码










本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
kinber
中级会员   /  发表于:2015-3-24 18:16:00
地板
和 用sql client 有关系没有?
回复 使用道具 举报
frank.zhang
社区贡献组   /  发表于:2015-3-24 18:20:00
5#
您好,
没有关系。我只是演示方便才使用Access。删除以下语句。
  1.             report1.Report.DataSources[0].DataSourceReference = "";
  2.             report1.Report.DataSources[0].ConnectionProperties.DataProvider = "OLEDB";
  3.             report1.Report.DataSources[0].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
6#
删除了一样有问题。这样,我把报表发过来,你看看
回复 使用道具 举报
kinber
中级会员   /  发表于:2015-3-24 18:28:00
7#
回复 6楼kinber的帖子


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
kinber
中级会员   /  发表于:2015-3-24 18:41:00
8#
查询中的? 不能输入,输入后提示错误。
回复 使用道具 举报
frank.zhang
社区贡献组   /  发表于:2015-3-25 08:56:00
9#
您好,
我发现您的报表中使用的SQL没有使用?,输入时直接确定就可以了,带参数会报一个错误,可以直接确定。
回复 使用道具 举报
kinber
中级会员   /  发表于:2015-3-25 09:41:00
10#
问题出错在,内嵌的一个table没有绑定数据集。但是软件没有提示错误,在设计器和查看器中都能正常使用,但是集成到asp.net就出现错误,而且提示错误信息很简单。

评分

参与人数 1金币 +500 收起 理由
frank.zhang + 500 对产品提出改进性的建议。

查看全部评分

回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部