找回密码
 立即注册

QQ登录

只需一步,快速开始

wu8829

中级会员

55

主题

266

帖子

643

积分

中级会员

积分
643

活字格认证微信认证勋章

wu8829
中级会员   /  发表于:2015-1-12 10:26  /   查看:5728  /  回复:7
工程师:您好!

        在RDL报表中添加了一个Image控件,控件Value的值通过参数设置。但发现一个问题:若我未设置这个参数的值,预览报表没问题,但打印报表就出现错误:


       请问如何解决呢?另外在c#代码中,可否动态删除RDL报表中的Image控件或参数的值呢?

本帖子中包含更多资源

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

x

7 个回复

倒序浏览
iceman
社区贡献组   /  发表于:2015-1-12 10:30:00
沙发
回复 1楼wu8829的帖子

您好,

根据当前描述我们很难重现问题,能否提供一个简单的重现问题 Demo ,我们可以快速的定位问题?

后台代码操作报表子控件请参考:
http://blog.gcpowertools.com.cn/ ... ems-using-code.aspx

谢谢
回复 使用道具 举报
wu8829
中级会员   /  发表于:2015-1-12 11:00:00
板凳

本帖子中包含更多资源

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

x
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2015-1-12 11:52:00
地板
回复 3楼wu8829的帖子

预览的时候没有问题因为指定了图片参数 Company_Seal 值。
请问你在打印的时候是否指定了该值?

我查看你的代码这句用于获取路径:

  1. string Company_Seal = DataLevel.Function.GetCompany(Session.Contents["User_Department"].ToString(), 11); //获取供应商印章
复制代码


另外,需要删除固定页面报表中控件测试代码如下:

  1.             PageReport pr = new PageReport(new System.IO.FileInfo(this.Server.MapPath("PageReport1.rdlx")));
  2.             PageDocument doc = new PageDocument(pr);
  3.             GrapeCity.ActiveReports.PageReportModel.FixedPage FP = doc.PageReport.Report.Body.ReportItems[0] as GrapeCity.ActiveReports.PageReportModel.FixedPage;
  4.             FP.Pages[0].ReportItems.RemoveAt(0);
复制代码


谢谢
回复 使用道具 举报
wu8829
中级会员   /  发表于:2015-1-12 12:04:00
5#
打印的时候还要指定?怎么指定?代码如何写?

如果是需要删除固定页面报表中的参数,又该如何写?
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2015-1-12 15:58:00
6#
回复 5楼wu8829的帖子

测试代码如下:

  1.             PageReport Print_Temp = new PageReport(new System.IO.FileInfo(this.Server.MapPath("RdlReport1.rdlx")));

  2.             string Company_Seal = ""; //获取供应商印章

  3.             if (Company_Seal.Length > 1)
  4.             {
  5.                 Print_Temp.Report.ReportParameters[0].DefaultValue.Values.Add(".." + Company_Seal);
  6.             }
  7.             else
  8.             {
  9.                 //移除参数
  10.                 Print_Temp.Report.ReportParameters.RemoveAt(0);
  11.                 //移除控件
  12.                 Print_Temp.Report.Body.ReportItems.RemoveAt(0);
  13.             }

  14.             this.WebViewer1.Report = Print_Temp;
复制代码


Demo:

本帖子中包含更多资源

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

x
回复 使用道具 举报
wu8829
中级会员   /  发表于:2015-1-12 16:26:00
7#
已解决,谢谢,可以封贴了。
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2015-1-12 16:37:00
8#
回复 7楼wu8829的帖子

好的,不客气。

为了给你提供更优质的服务,请对本次服务进行评分。我们会认真对待你提出的宝贵意见,谢谢

评分

参与人数 1满意度 +5 收起 理由
wu8829 + 5 谢谢

查看全部评分

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