水晶报表攻克系列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为从数据库中取得的数据源, 这样,我们就可以在程序中加载我们的水晶报表了。

  

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

 

 

  

posted @ 2012-10-30 09:33  Mark Rao  阅读(753)  评论(0编辑  收藏  举报