水晶报表是一个功能强大的报表工具,现在已经被Microsoft Visual Studio 2005集成在一起。
水晶报表在应用时分两种方法,分别是拉模式(PULL)、推模式(PUSH)。拉模式:在水晶报表生成时的数据源是从水晶报表文件中的SQL语句从数据库中提取的,在编程时不用重写SQL语句,但要加上登录信息(具体方法,后面介绍)。推模式:在水晶报表生成时的数据源,是用编程时重写水晶报表中SQL语句而生成的dataset对像。也就是说,推模式是用dataset组装水晶报表。
水晶报表组件介绍。水晶报表在VS2005中有两种组件,在WEB项目是分别是CrystalReportSource,CrystalReportViewer。在FORM项目里是分别是crystalReport,CrystalReportViewer。
CrystalReportSource,crystalReport是水晶报表的数据提供者;CrystalReportViewer是水晶报表的浏览器。另外还要介绍一下水晶报表的文件是以.rpt为扩展名的文件,该文件可以用VS2005生成。
1。创建水晶报表
a.新建一个winform应用程序,然后“工程”-〉“添加新项”,在弹出对话框中选择“crystal报表”,然后改个名MyCrystal.rpt,单击添加按钮。
b.在“crystalreports库”对话框选择“使用报表向导”,并选择“标准”的样式,“确定”。
c.在“标准报表创建向导”对话框指定报表数据源,即其架构,“创建新连接”-〉“ole db(ado)”
d.配置ole db(ado)。“提供程序”选择provider for sql server,然后选择服务器,登录配置,选择数据库
e.选择数据库中的表,并选择需要显示的列,完毕后进入vs2005的报表编辑器,自主进行美化后over...
2。添加报表查看器
在winform窗体中添加crystalreportviewer
3。在窗体的load事件处理程序中加入如下代码:
http://hi.baidu.com/ysusoft/blog/item/5d06aa2705d5d806918f9d45.html
水晶报表在应用时分两种方法,分别是拉模式(PULL)、推模式(PUSH)。拉模式:在水晶报表生成时的数据源是从水晶报表文件中的SQL语句从数据库中提取的,在编程时不用重写SQL语句,但要加上登录信息(具体方法,后面介绍)。推模式:在水晶报表生成时的数据源,是用编程时重写水晶报表中SQL语句而生成的dataset对像。也就是说,推模式是用dataset组装水晶报表。
水晶报表组件介绍。水晶报表在VS2005中有两种组件,在WEB项目是分别是CrystalReportSource,CrystalReportViewer。在FORM项目里是分别是crystalReport,CrystalReportViewer。
CrystalReportSource,crystalReport是水晶报表的数据提供者;CrystalReportViewer是水晶报表的浏览器。另外还要介绍一下水晶报表的文件是以.rpt为扩展名的文件,该文件可以用VS2005生成。
1。创建水晶报表
a.新建一个winform应用程序,然后“工程”-〉“添加新项”,在弹出对话框中选择“crystal报表”,然后改个名MyCrystal.rpt,单击添加按钮。
b.在“crystalreports库”对话框选择“使用报表向导”,并选择“标准”的样式,“确定”。
c.在“标准报表创建向导”对话框指定报表数据源,即其架构,“创建新连接”-〉“ole db(ado)”
d.配置ole db(ado)。“提供程序”选择provider for sql server,然后选择服务器,登录配置,选择数据库
e.选择数据库中的表,并选择需要显示的列,完毕后进入vs2005的报表编辑器,自主进行美化后over...
2。添加报表查看器
在winform窗体中添加crystalreportviewer
3。在窗体的load事件处理程序中加入如下代码:
1
string sql = "Select T1, T2, T3 FROM T where T1=''a''";
2
string DBConfig_sql = @"Data Source=SYWZSWL\SQLEXPRESS;Initial Catalog=Test;User ID=sa;Password=123456";
3
DataSet ds = new DataSet();
4
SqlConnection sqlCon = new SqlConnection(DBConfig_sql);
5
SqlCommand sqlCmd = new SqlCommand(sql, sqlCon);
6
SqlDataAdapter sqlAd = new SqlDataAdapter();
7
sqlAd.SelectCommand = sqlCmd;
8
sqlAd.Fill(ds, "sql");
9
ReportDocument reDoc=new ReportDocument();
10
reDoc.Load(Application.StartupPath + "MyCrystal.rpt");
11
reDoc.SetDataSource(ds.Tables["sql"]);
12
//{?}中的参数可以不用赋值,即使赋了值也不起作用。
13
this.crystalReportViewer1.ReportSource = reDoc;
14![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
部分引用自:![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
2
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
3
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
4
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
5
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
6
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
7
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
8
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
9
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
10
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
11
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
12
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
13
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
14
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
http://hi.baidu.com/ysusoft/blog/item/5d06aa2705d5d806918f9d45.html