C#入门(六)—报表的应用
一、水晶报表
1.Pull Model(拉模式)
所谓的拉模式,也就是驱动程序会自动链接至数据库并视需要来提取数据。
2.Push Model(推模式)
采用推模式,开发人员必须自行编写代码来链接至数据库,运行SQL命令来创建数据集或数据记录集,并将该对象传递给报表。
开发人员对数据源拥有更大的自主权与控制权。
如:可对数据先过滤。能够自各种不同数据源(如:XML、MySQL等)中提取数据记录并交给Crystal Reports来加以打印。
架构支持:不会破坏三层架构。
3.连接数据实例代码:
SqlCommand myCom = new SqlCommand(); myCom.Connection = myCon; myCom.CommandText = sb.ToString(); SqlDataAdapter adapter = new SqlDataAdapter(); adapter.SelectCommand = myCom; DataSet ds = new DataSet(); adapter.Fill(ds, "Orders"); ds.Tables["Orders"].DefaultView.RowFilter = "OrderID="+tbOrderID.Text; OrderCR1.SetDataSource(ds.Tables["Orders"].DefaultView); crystalReportViewer1.RefreshReport(); myCon.Close();
二、RDLC报表
1.简单易用的控件,特别是Table控件,非常方便字段在报表上的排列;
2.灵活的可定制性,用XML来描述一个报表相关的一切,不用说了吧?
3.高度可编程性,在你的项目中,甚至不需要有一个报表文件,通过代码就可以实现报表生成、预览和打印等一系列操作;
4.导出的Excel文件格式非常完美,任何其它报表在这方面都不能与之比拟,而且并不需要安装Excel;
5.友好界面支持;
6.绑定数据实例代码:
this.CustomersTableAdapter.Fill(this.NorthwindDataSet.Customers); this.reportViewer1.RefreshReport();