KearneyKang 发表于 2020-10-21 15:36:06

那应该就是你说的 问题了,我等下使用页面报表然后绑定两个数据集来测试下看看

er二狗子 发表于 2020-10-21 16:22:05

KearneyKang 发表于 2020-10-21 15:36
那应该就是你说的 问题了,我等下使用页面报表然后绑定两个数据集来测试下看看

好的 你好 我再咨询一个问题

如图所示 pageReport是有这个LocateDataSource 方法的
区域报表 该如何写呢 最好能贴一段完整的代码 :handshake

KearneyKang 发表于 2020-10-21 18:02:14

本帖最后由 KearneyKang 于 2020-10-22 15:17 编辑

你好,这个页面报表绑定双数据集的问题,我这边已经验证。我这边验证是正常的展示结果如下:

代码写法:



public void Configuration(IAppBuilder app)
      {
      
            app.UseReporting(settings =>
            {
                settings.UseCompression = true;
                settings.UseCustomStore(GetReport);//使用UseCustomStore来自定义一些需要的值                                                   //settings.UseFileStore(new DirectoryInfo(String.Format(@"{0}.\Reports\", HttpRuntime.AppDomainAppPath)));               
                settings.LocateDataSource = args =>
                {
                  DataTable dt = new DataTable();
                  string name = ReportName;
                  if (args.DataSet.Query.DataSourceName == "DataSource1")
                  {                     
                        if (args.DataSet.Name == "DataSet1")
                        {
                            dt.Columns.Add("产品编号");
                            dt.Columns.Add("产品名称");
                            dt.Columns.Add("单价");
                            dt.Columns.Add("库存量");
                            dt.Columns.Add("产地");
                            dt.Rows.Add("A001", "苹果", 10, 300, "中国");
                            dt.Rows.Add("A002", "葡萄", 20, 200, "中国");
                            dt.Rows.Add("A003", "香蕉", 30, 400, "中国");
                            dt.Rows.Add("A004", "甘蔗", 10, 300, "中国");
                            dt.Rows.Add("A005", "荔枝", 20, 200, "中国");
                            dt.Rows.Add("A006", "芒果", 30, 400, "中国");
                            dt.Rows.Add("A007", "猕猴桃", 110, 300, "中国");
                            dt.Rows.Add("A008", "柠檬", 210, 200, "中国");
                            dt.Rows.Add("A009", "栗子", 320, 400, "中国");
                            dt.Rows.Add("A010", "火龙果", 100, 300, "中国");
                            dt.Rows.Add("A011", "青芒", 250, 200, "中国");
                            dt.Rows.Add("A012", "巴旦木", 320, 200, "中国");
                            dt.Rows.Add("A013", "土豆", 380, 400, "中国");
                            dt.Rows.Add("A014", "苹果", 110, 300, "中国");
                            dt.Rows.Add("A015", "葡萄", 420, 200, "中国");
                            dt.Rows.Add("A016", "香蕉", 530, 400, "中国");
                            dt.Rows.Add("A017", "土豆", 380, 400, "中国");
                            dt.Rows.Add("A018", "苹果", 110, 300, "中国");
                            dt.Rows.Add("A019", "葡萄", 420, 200, "中国");
                            dt.Rows.Add("A020", "香蕉", 530, 400, "中国");
                            dt.Rows.Add("A021", "苹果", 10, 300, "中国");
                            dt.Rows.Add("A022", "葡萄", 20, 200, "中国");
                            dt.Rows.Add("A023", "香蕉", 30, 400, "中国");
                            dt.Rows.Add("A024", "甘蔗", 10, 300, "中国");
                            dt.Rows.Add("A025", "荔枝", 20, 200, "中国");
                            dt.Rows.Add("A026", "芒果", 30, 400, "中国");
                            dt.Rows.Add("A001", "苹果", 10, 300, "中国");
                            dt.Rows.Add("A002", "葡萄", 20, 200, "中国");
                            dt.Rows.Add("A003", "香蕉", 30, 400, "中国");
                            dt.Rows.Add("A004", "甘蔗", 10, 300, "中国");
                            dt.Rows.Add("A005", "荔枝", 20, 200, "中国");
                            dt.Rows.Add("A006", "芒果", 30, 400, "中国");
                            dt.Rows.Add("A007", "猕猴桃", 110, 300, "中国");
                            dt.Rows.Add("A008", "柠檬", 210, 200, "中国");
                            dt.Rows.Add("A009", "栗子", 320, 400, "中国");
                            dt.Rows.Add("A010", "火龙果", 100, 300, "中国");
                            dt.Rows.Add("A011", "青芒", 250, 200, "中国");
                            dt.Rows.Add("A012", "巴旦木", 320, 200, "中国");
                            dt.Rows.Add("A013", "土豆", 380, 400, "中国");
                            dt.Rows.Add("A014", "苹果", 110, 300, "中国");
                            dt.Rows.Add("A015", "葡萄", 420, 200, "中国");
                            dt.Rows.Add("A016", "香蕉", 530, 400, "中国");
                            dt.Rows.Add("A017", "土豆", 380, 400, "中国");
                            dt.Rows.Add("A018", "苹果", 110, 300, "中国");
                            dt.Rows.Add("A019", "葡萄", 420, 200, "中国");
                            dt.Rows.Add("A020", "香蕉", 530, 400, "中国");
                            dt.Rows.Add("A021", "苹果", 10, 300, "中国");
                            dt.Rows.Add("A022", "葡萄", 20, 200, "中国");
                            dt.Rows.Add("A023", "香蕉", 30, 400, "中国");
                            dt.Rows.Add("A024", "甘蔗", 10, 300, "中国");
                            dt.Rows.Add("A025", "荔枝", 20, 200, "中国");
                            dt.Rows.Add("A026", "芒果", 30, 400, "中国");
                        }
                        if (args.DataSet.Name == "DataSet2")
                        {
                            dt.Columns.Add("产品编号1");
                            dt.Columns.Add("产品名称1");
                            dt.Columns.Add("单价1");
                            dt.Columns.Add("库存量1");
                            dt.Columns.Add("产地1");
                            dt.Rows.Add("A001", "苹果", 10, 300, "中国");
                            dt.Rows.Add("A002", "葡萄", 20, 200, "中国");
                            dt.Rows.Add("A003", "香蕉", 30, 400, "中国");
                            dt.Rows.Add("A004", "甘蔗", 10, 300, "中国");
                            dt.Rows.Add("A005", "荔枝", 20, 200, "中国");
                            dt.Rows.Add("A006", "芒果", 30, 400, "中国");
                            dt.Rows.Add("A007", "猕猴桃", 110, 300, "中国");
                            dt.Rows.Add("A008", "柠檬", 210, 200, "中国");
                            dt.Rows.Add("A009", "栗子", 320, 400, "中国");
                            dt.Rows.Add("A010", "火龙果", 100, 300, "中国");
                            dt.Rows.Add("A011", "青芒", 250, 200, "中国");
                            dt.Rows.Add("A012", "巴旦木", 320, 200, "中国");
                            dt.Rows.Add("A013", "土豆", 380, 400, "中国");
                            dt.Rows.Add("A014", "苹果", 110, 300, "中国");
                            dt.Rows.Add("A015", "葡萄", 420, 200, "中国");
                            dt.Rows.Add("A016", "香蕉", 530, 400, "中国");
                            dt.Rows.Add("A017", "土豆", 380, 400, "中国");
                            dt.Rows.Add("A018", "苹果", 110, 300, "中国");
                        }
                  }
                  //if (args.DataSet.Query.DataSourceName == "DataSource3")
                  //{
                  //    if (args.DataSet.Name == "DataSet3")
                  //    {
                  //      dt.Columns.Add("ID");
                  //      dt.Columns.Add("Name");
                  //      dt.Columns.Add("Phone");
                  //      dt.Columns.Add("Sex");
                  //      dt.Rows.Add(1, 1, 132, "男");
                  //      dt.Rows.Add(2, 1, 125, "女");
                  //      dt.Rows.Add(3, 1, 155, "男");
                  //      dt.Rows.Add(4, 1, 138, "女");
                  //      dt.Rows.Add(5, 1, 189, "男");
                  //      dt.Rows.Add(6, 1, 188, "女");
                  //    }
                  //}
                  return dt;
                };


            });

      }      报表设计见附件

区域报表动态 数据源绑定的代码
protected override object OnCreateReportHandler(string reportPath)
      {
   definition = (SectionReport)base.OnCreateReportHandler(reportPath);
   definition.DataSource = returndata();         
   return definition;

      }区域报表的设计见附件

页: 1 [2]
查看完整版本: 页面报表 如何绑定 多个DataSet