怎样使用水晶报表的推模式?
2006-09-20 12:36
489 查看
2.新建一个报表,注意建立的时候要浏览到该xsd文件, 建好后找到该报表的属性"自定义工具",把原来的 "CrystalDecisions.VSDesigner.CodeGen.ReportCodeGenerator" 改为"CrystalDecisions.VSShell.CodeGen.ReportCodeGenerator" 这样就会产生一个按照你报表名命名的zsmxb.cs文件,其实就是下面的类zsmxb 同时建立一个页面,把CrystalReportViewer控件放到页面, 并且要在该页面文件的顶部申明一下报表的类, public class Fr_zsmxb : System.Windows.Forms.Form { zsmxb crReportDocument; ......... 3.建立报表结构 DataSet dss=new DataSet(); DataTable dt=new DataTable("zsmxb"); dt.Columns.Add("cchbh",System.Type.GetType("System.String")); dt.Columns.Add("nglf",System.Type.GetType("System.Decimal")); dt.Columns.Add("ncf",System.Type.GetType("System.Decimal")); dt.Columns.Add("nqyf",System.Type.GetType("System.Decimal")); dt.Columns.Add("nzsf",System.Type.GetType("System.Decimal")); dt.Columns.Add("ntcf",System.Type.GetType("System.Decimal")); dt.Columns.Add("ngz",System.Type.GetType("System.Decimal")); dt.Columns.Add("nzjf",System.Type.GetType("System.Decimal")); dt.Columns.Add("nylf",System.Type.GetType("System.Decimal")); dt.Columns.Add("nwxf",System.Type.GetType("System.Decimal")); dt.Columns.Add("nsy",System.Type.GetType("System.Decimal")); dt.Columns.Add("nqtf",System.Type.GetType("System.Decimal")); dt.Columns.Add("nxj",System.Type.GetType("System.Decimal")); dss.Tables.Add(dt); 注意:这里的DataTable dt=new DataTable("zsmxb");这句中表名"zsmxb"要和你的xsd文件中的表名要一样, 同时,dt的字段名、类型,都要和xsd文件一样,否则回产生"查询引擎错误"。 4.为这个ds传入数据 for(int i=0;i<this.ds.Tables["zsmxb"].Rows.Count;i++) { DataRow dr=dt.NewRow(); dr["cchbh"]=this.ds.Tables["zsmxb"].Rows[i]["cchbh"]; dr["nglf"]=this.ds.Tables["zsmxb"].Rows[i]["nglf"]; dr["ncf"]=this.ds.Tables["zsmxb"].Rows[i]["ncf"]; dr["nqyf"]=this.ds.Tables["zsmxb"].Rows[i]["nqyf"]; dr["nzsf"]=this.ds.Tables["zsmxb"].Rows[i]["nzsf"]; dr["ntcf"]=this.ds.Tables["zsmxb"].Rows[i]["ntcf"]; dr["ngz"]=this.ds.Tables["zsmxb"].Rows[i]["ngz"]; dr["nzjf"]=this.ds.Tables["zsmxb"].Rows[i]["nzjf"]; dr["nylf"]=0; dr["nwxf"]=0; dr["nsy"]=0; dr["nqtf"]=this.ds.Tables["zsmxb"].Rows[i]["nqtf"]; dr["nxj"]=System.Convert.ToDecimal(dr["nglf"].ToString())+System.Convert.ToDecimal(dr["ncf"].ToString(); dt.Rows.Add(dr); } 这里的ds是同过查询得到的,这里只是举个例子。 5.把得到的报表数据源dss绑定到水晶报表。 crReportDocument=new zsmxb(); crReportDocument.SetDataSource(dss); crystalReportViewer1.ReportSource = crReportDocument; |
相关文章推荐
- 怎样使用水晶报表的推模式?
- 水晶报表使用Push Model模式传递参数
- 水晶报表使用基本代码(拉模式)
- 水晶报表使用push模式(1)
- VS2005中使用水晶报表的PUSH模式完成带子报表的报表
- VS2005中使用水晶报表PUSH模式完成单表的设计
- Asp.Net中使用水晶报表(中) 使用Pull模式
- 水晶报表使用push模式(2)
- access数据库使用水晶报表(PUSH)推模式实现多数据源含子报表的订单打印
- 水晶报表的使用(1)——动态数据填充技巧[PUSH 模式]
- .net对象模式下(Push模式),水晶报表使用的一些经验
- VS2005中使用水晶报表PUSH模式完成主从表设计
- 水晶报表问题汇总(水晶报表的使用与查询条件生成报表、注册码、打印问题、模式使用示例、C#.Net的WinForm中的使用、程序发布与部署)
- [所见非所得]使用参数控制水晶报表的部分元素不打印
- 一起学习水晶报表之推模式【强类型的DataSet实现显示报表数据】(课程7)
- VS2010下水晶报表的使用总结-从安装到使用到部署,有图有真相
- 使用水晶报表的共享变量(Shared)即可实现在主/子报表之间的数据共享
- 水晶报表在VC++6.0中的简单使用方法
- .net中水晶报表的使用
- 水晶报表使用总结