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