zoukankan      html  css  js  c++  java
  • 水晶报表攻克系列4子报表

    水晶报表攻克系列4-子报表

      使用自报表的关键点是链接字段,也就是说你的主报表数据源与自报表的数据源一定要有一个相同的链接字段,相当于sql的外码和主键的关系。

      1) 假设链接字段为OrderCode,在实体类分别定义OrderCode字段,这个一再本系列2中讲过,恕不赘述。

      2) 添加一个子报表,设计如下:

         

      3) 然后在主报表中插入这个子报表,并且右键“插入”=》子报表,选择已经添加的子报表

      4) 右键点击插入的子报表,选择“更改子报表链接”,分别选择刚刚在主报表和子报表数据源实体类中的OrderCode字段。

      5) 在程序中,就可以这样加载了:

      

     1             ReportDocument doc = new ReportDocument();
     2             PostPackgeSources sources = new PostPackgeSources();
     3             if (PackgeList != null)
     4             {
     5                 PackgeList.ForEach(i => sources.Add(i));
     6             }
     7             soureCount = sources.Count;
     8             doc.Load(AppDomain.CurrentDomain.BaseDirectory + @"Class\CRGasPackge.rpt");
     9             doc.SetDataSource(sources);
    10 
    11             //子报表
    12             ItemDetailList subSources = new ItemDetailList();
    13             if (sources != null)
    14             {
    15                 foreach (PostQueueEntity entity in sources)
    16                 {
    17                     List<ItemDetailList> list = new JavaScriptSerializer().Deserialize<List<ItemDetailList>>(entity.PostItemDetail);
    18                     list.ForEach(p =>
    19                         subSources.Add(new ItemDetailEntity
    20                         {
    21                             OrderCode = entity.OrderCode,
    22                             ItemCode = p.ItemCode,
    23                             ItemName = p.ItemName,
    24                             ItemNum = p.ItemNum
    25                         }));
    26                 }
    27             }
    28             doc.Subreports[0].SetDataSource(subSources);        

      这样,就成功就加载了子报表了。

  • 相关阅读:
    webApp 开发技术要点总结
    前端好难
    webApp前端开发技巧总结
    WAP、触屏版网站及APP的区别
    ajax 200 4 parseerror 的错误
    .Net Windows Service(服务) 调试安装及System.Timers.Timer 使用
    引用:WebAPI中的定时处理-使用Quartz.Net
    Redis 应该是存放的数据超出了范围
    easyui Dialog 去边框
    MSSQL SQL Server代理 作业 设置(调用存储过程)
  • 原文地址:https://www.cnblogs.com/MarkRao/p/cr4.html
Copyright © 2011-2022 走看看