zoukankan      html  css  js  c++  java
  • 水晶报表攻克系列2程序加载水晶报表

    水晶报表攻克系列2-程序加载水晶报表

      最近工作在做一个发票和面单的打印项目,本项目是winform c#开发,用到了水晶报表,现在把水晶报表的一些学习经验分享给大家:

      1  新建一个实体类,命名为TreeEntity,然后新建一个TreeEntityList,继承自List<TreeEntity>,按照需要添加所需要的数据库字段。

      形如:  

      

     1     public class TreeEntity
     2     {
     3         public int ID { get; set; }
     4         public string Name { get; set; }
     5     }
     6 
     7     public class TreeList : List<TreeEntity>
     8     {
     9         public int ID { get; set; }
    10         public string Name { get; set; }
    11     }

      注意:在TreeEntityList中定义的字段一定要在TreeEntity中定义。

     

      2  建立一个水晶报表文件,在“字段资源管理器”选项卡下,“数据库字段”右键数据库专家中,选择刚刚生成的TreeEntityList类,然后根据已经定义的数据库字段,按照需要拖拽到报表中。拖拽的时候,可以加上网格,根据网格上的尺寸来放置数据字段,网格上的尺寸对应单位为cm

      3  在我们的winform端,我们选择CrystalReportViewer控件,来加载我们刚刚添加的水晶报表CRTree.rpt,程序如下:

      

    1         ReportDocument doc = new ReportDocument();
    2         TreeEntityList sources = new TreeEntityList ();
    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)

      4  PackgeList为从数据库中取得的数据源, 这样,我们就可以在程序中加载我们的水晶报表了。

      

      下一节,我会为大家分享如何设计水晶报表,以及如何在程序中设定自定义的水晶报表页面尺寸。敬请关注。。。

      

  • 相关阅读:
    Bash的提示符
    小笨霖英语笔记本(5)
    什么是VLAN
    阅读笔记:双核心Opteron处理器
    小笨霖英语笔记本(4)
    搭乘CCNUMA快车
    得到tnsnames.ora文件的位置 zz
    关于64位Windows操作系统中的注册表 zz
    Temp.Misc
    HttpHandler HttpModule入门篇
  • 原文地址:https://www.cnblogs.com/MarkRao/p/cr2.html
Copyright © 2011-2022 走看看