找回密码
 立即注册

QQ登录

只需一步,快速开始

travel_he

初级会员

21

主题

67

帖子

202

积分

初级会员

积分
202

活字格认证

travel_he
初级会员   /  发表于:2016-6-12 15:44  /   查看:3617  /  回复:3
本帖最后由 Lenka.Guo 于 2016-6-13 09:47 编辑

在程序中进行报表参数赋值需要通过数值序列引用 如:
report1.Report.ReportParameters(0).DefaultValue.Values.Add("abc")

这样很不方便,能否通过参数名引用呢?或有其它写法?

盼教!


3 个回复

倒序浏览
ZenosZeng讲师达人认证 悬赏达人认证
超级版主   /  发表于:2016-6-12 16:36:02
沙发
目前没有提供通过参数名访问的接口,我写了函数来实现这个需求,这样可以通过名称来设置值:
  1.         private void Form1_Load(object sender, EventArgs e)
  2.         {
  3.             GrapeCity.ActiveReports.PageReport report1 = new GrapeCity.ActiveReports.PageReport(new System.IO.FileInfo("RdlReport1.rdlx"));
  4.             SetParameterValue(report1, "P1", "20");

  5.             viewer1.LoadDocument(report1.Document);
  6.         }

  7.         public void SetParameterValue(PageReport report, string name, string value)
  8.         {
  9.             foreach (ReportParameter item in report.Report.ReportParameters)
  10.             {
  11.                 if (item.Name == name)
  12.                 {
  13.                     item.DefaultValue.Values.Add("abc");
  14.                     break;
  15.                 }
  16.             }
  17.         }
复制代码


回复 使用道具 举报
travel_he
初级会员   /  发表于:2016-6-13 08:46:34
板凳
这和其它一些报表比很不方便,参数序列一但被打乱就很麻烦了!自己写函数也是没办法的办法.
很好,采用!
回复 使用道具 举报
Lenka.Guo讲师达人认证 悬赏达人认证
超级版主   /  发表于:2016-6-13 09:47:26
地板
travel_he 发表于 2016-6-13 08:46
这和其它一些报表比很不方便,参数序列一但被打乱就很麻烦了!自己写函数也是没办法的办法.
很好,采用!

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