找回密码
 立即注册

QQ登录

只需一步,快速开始

susu1019

最新发帖
susu1019
注册会员   /  发表于:2019-8-8 16:58:54
11#
KearneyKang 发表于 2019-8-8 16:10
报无法连接数据源,这应该就是你的数据连接哪里存在问题。你在本地看看能不能正常运行,然后我们本地导出还 ...

但是我是动态报表呀 怎么会跟数据连接有关系 。
回复 使用道具 举报
KearneyKang讲师达人认证 悬赏达人认证
超级版主   /  发表于:2019-8-9 09:19:47
12#
你不点击导出,就是一个正常展示可以正常的展示不。由于你用的是动态绑定数据源,打印的时候其实也是需要进行一个动态数据源的绑定的,这是我刚刚写的一个打印这块绑定数据源的一个代码示例
  1. private void button2_Click(object sender, EventArgs e)
  2.         {
  3.             string file_name = @"..\..\RdlReport1.rdlx";
  4.             GrapeCity.ActiveReports.PageReport pageReport = new GrapeCity.ActiveReports.PageReport(new System.IO.FileInfo(file_name));
  5.             pageReport.Document.LocateDataSource += new LocateDataSourceEventHandler(LocateData);
  6.             pageReport.Document.Printer.DefaultPageSettings.Margins.Bottom = 0;
  7.             pageReport.Document.Printer.DefaultPageSettings.Margins.Left = 0;
  8.             pageReport.Document.Printer.DefaultPageSettings.Margins.Right = 0;
  9.             pageReport.Document.Printer.DefaultPageSettings.Margins.Top = 0;
  10.             pageReport.Document.Printer.PaperSize.RawKind = 0;
  11.             pageReport.Document.Printer.PaperSize.Width = 790;
  12.             //pageReport.Document.Printer.PaperSize.Height = 20;
  13.             GrapeCity.ActiveReports.PrintExtension.Print(pageReport.Document, true, true);//通过设置第二个属性为false实现静默打印。


  14.         }
复制代码
  1. public void LocateData(object sender, LocateDataSourceEventArgs args)
  2.         {
  3.             #region
  4.             if (args.DataSet.Query.DataSourceName == "DataSource1")
  5.             {
  6.                 if (args.DataSet.Name == "DataSet1")
  7.                 {
  8.                     List<FormData> data = new List<FormData>();
  9.                     for (int i = 1; i <= 3; i++)
  10.                     {
  11.                         for (int j = 1; j <= 5; j++)
  12.                         {
  13.                             for (int k = 1; k <= 2; k++)
  14.                             {
  15.                                 data.Add(new FormData()
  16.                                 {
  17.                                     Main = i + "CM主控制器",
  18.                                     Sub = "T-80" + i + j + "子控制器",
  19.                                     Variable = "T-80" + i + j + k + ".PV",
  20.                                     Type = "CV投用情况",
  21.                                     Active = 0 + (i + j + k) % 2,
  22.                                     Value = (95 - i / 10.0 + j / 10.0 + k / 100.0) / 100.0
  23.                                 });
  24.                             }
  25.                         }
  26.                     }
  27.                     args.Data = data;
  28.                 }
  29.             }
  30.             #endregion
  31.             #region
  32.             if (args.DataSet.Query.DataSourceName == "DataSource2")
  33.             {
  34.                 if (args.DataSet.Name == "DataSet2")
  35.                 {
  36.                     List<TimeInfo> info = new List<TimeInfo>();
  37.                     info.Add(new TimeInfo() { Type = "开始时间", Value = Convert.ToDateTime("22/08/2017 09:00:00") });
  38.                     info.Add(new TimeInfo() { Type = "结束时间", Value = Convert.ToDateTime("22/08/2017 10:00:00") });
  39.                     info.Add(new TimeInfo() { Type = "CV投用指标", Value = 0.95 });
  40.                     args.Data = info;
  41.                 }
  42.             }
  43.             #endregion
  44.             #region
  45.             if (args.DataSet.Query.DataSourceName == "DataSource3")
  46.             {
  47.                 if (args.DataSet.Name == "DataSet3")
  48.                 {
  49.                     List<Operate> operate = new List<Operate>();
  50.                     operate.Add(new Operate() { Number = 1, Type = "SVCTL61", Count = 838 });
  51.                     operate.Add(new Operate() { Number = 2, Type = "SVCTL64", Count = 226 });
  52.                     operate.Add(new Operate() { Number = 3, Type = "SVCTL23", Count = 222 });
  53.                     operate.Add(new Operate() { Number = 4, Type = "SVCTL55", Count = 37 });
  54.                     operate.Add(new Operate() { Number = 5, Type = "SVCTL63", Count = 35 });
  55.                     operate.Add(new Operate() { Number = 6, Type = "SVCTL01", Count = 30 });
  56.                     operate.Add(new Operate() { Number = 7, Type = "SVCTL14", Count = 29 });
  57.                     operate.Add(new Operate() { Number = 8, Type = "SVCTL25", Count = 27 });
  58.                     operate.Add(new Operate() { Number = 9, Type = "SVCTL02", Count = 26 });
  59.                     operate.Add(new Operate() { Number = 10, Type = "SVCTL54", Count = 20 });
  60.                     operate.Add(new Operate() { Number = 11, Type = "其他", Count = 969 });
  61.                     args.Data = operate;
  62.                 }
  63.             }
  64.             #endregion

  65.         }
  66.         
复制代码


回复 使用道具 举报
susu1019
注册会员   /  发表于:2019-8-9 09:38:20
13#
KearneyKang 发表于 2019-8-9 09:19
你不点击导出,就是一个正常展示可以正常的展示不。由于你用的是动态绑定数据源,打印的时候其实也是需要进 ...

我print的时候报错呀 说没有这个定义

本帖子中包含更多资源

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

x
回复 使用道具 举报
KearneyKang讲师达人认证 悬赏达人认证
超级版主   /  发表于:2019-8-9 13:37:54
14#
你用的是哪个版本AR
回复 使用道具 举报
12
您需要登录后才可以回帖 登录 | 立即注册
返回顶部