travel_he 发表于 2016-6-12 15:44:31

报表参数引用问题

本帖最后由 Lenka.Guo 于 2016-6-13 09:47 编辑

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

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

盼教!


ZenosZeng 发表于 2016-6-12 16:36:02

目前没有提供通过参数名访问的接口,我写了函数来实现这个需求,这样可以通过名称来设置值:
      private void Form1_Load(object sender, EventArgs e)
      {
            GrapeCity.ActiveReports.PageReport report1 = new GrapeCity.ActiveReports.PageReport(new System.IO.FileInfo("RdlReport1.rdlx"));
            SetParameterValue(report1, "P1", "20");

            viewer1.LoadDocument(report1.Document);
      }

      public void SetParameterValue(PageReport report, string name, string value)
      {
            foreach (ReportParameter item in report.Report.ReportParameters)
            {
                if (item.Name == name)
                {
                  item.DefaultValue.Values.Add("abc");
                  break;
                }
            }
      }

travel_he 发表于 2016-6-13 08:46:34

这和其它一些报表比很不方便,参数序列一但被打乱就很麻烦了!自己写函数也是没办法的办法.
很好,采用!

Lenka.Guo 发表于 2016-6-13 09:47:26

travel_he 发表于 2016-6-13 08:46
这和其它一些报表比很不方便,参数序列一但被打乱就很麻烦了!自己写函数也是没办法的办法.
很好,采用!

:hjyzw:
页: [1]
查看完整版本: 报表参数引用问题