水晶报表攻克系列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为从数据库中取得的数据源, 这样,我们就可以在程序中加载我们的水晶报表了。
下一节,我会为大家分享如何设计水晶报表,以及如何在程序中设定自定义的水晶报表页面尺寸。敬请关注。。。