请大家给几个详细的用水晶报表的例子吧!谢谢 初次接触,不知道如何下手! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 使用Pull模式 我们将通过下面的这些步骤来通过Pull模式来执行水晶报表 1.首先创建rpt文件,并使用水晶报表设计接口设置一些必须的数据连接。 2.拖放一个 CrystalReportViewer控件至aspx页面,设置它的属性指定我们上一步创建的.rpt文件。 3. 在代码中调用DataBind方法。 创建 .rpt 文件: 1) 在右击”解决方案游览器“,在弹出的菜单中选择”添加“--”添加新项“-->”Crystal Report” 2) 在”Crystal Report 库”中选择”作为空白报表“单选按钮,最后单击“确定“。 3)这里将弹出水晶报表设计器。 4) 右击报表中的”详细资料区”,选择“数据库”->“添加/删除数据库..." 5) 在弹出的”数据库专家“中,扩展”OLE DB(ADO)“选项,此时会弹出另外一个”OLE DB(ADO)“窗口。 6) 在 "OLE DB (ADO)" 弹出窗口中,选择 "Microsoft OLE DB Provider for SQL Server" 然后 "Next" 7) 指定连接的信息 服务器 : ASPCN (您的机器是什么名字就写什么) 用户 ID: sa 密码: 数据库 : Pubs 8) 单击”Next“,最后单击”Finish“按钮。 9) 这时你就能在”数据库专家“窗口中看到我们选择的数据库。 10) 扩展”Pubs“数据库,扩展”表“,选择”Stores“表并将其加到”选定的表“区中,单击”OK"按钮。 11) 现在在”字段资源浏览器“中就会在左边”数据库字段“区中显示你选择的表,以及表中的字段。 12) 拖放需要的字段进入报表的”详细资料“区。字段名将会自动出现在”页眉“区。如果你想修改头部文字,则可以右击”页眉“区中的文字,选择”编辑文本对象“选项并进行编辑。 13) 保存,这样我们就有了一个水晶报表文件。 创建 CrystalReportViewer 控件 14) 回到前面的WebForm中,拖放一个Crystal Report Viewer控件到页面中去。 15) 调出Crystal Report Viewer控件的属性窗口,选择“DataBindings"区点击[...] 16) ”Crystal Report Viewer 数据绑定窗口”中,在右边的“可绑定属性”中选择”ReportSource“,并选择右下角的“自定义绑定表达式”中指定.rpt文件路径。 17) 此时你能够从Crystal Report Viewer 控件中看到使用一些虚拟数据组成的报表文件的预览。 注意:在上面的例子中,CrystalReportViewer可以在设计时直接调用真实的数据,因为此时数据已经保存。在这种情况下,设计时当没有保存数据时,他是不能显示数据的。取而代这的是显示一些虚拟的数据,只有在执行时才会选取真实的数据。 Code Behind 程序设计 18) 在Page_Load方法中调用DataBind方法。 执行你的程序 19) 创建并运行你的程序! 您现在就可以直接在Web页面中使用水晶报表内置的一些功能,如页面导航,缩放等。 使用PUSH模式 我们采用下面的几步使用Push模式执行水晶报表: 1. 设计一个DataSet 2. 创建一个.rpt文件同时将其指定给上一步建立的DataSet。 3. 在aspx页面中拖放一个CrystalReportViewer控件同时将其与前面的rpt文件建立联系。 4. 在代码中访问数据库并把数据存入DataSet 5. 调用DataBind方法。 设计一个DataSet 1) 右击“解决方案浏览器”,选择“添加”--“添加新项”-->“数据集” 2) 从“服务器资源管理器”中的“SQL Server”中拖放“Stores”表(位于PUBS数据库中)。 3) 此时在数据集中就会有一个Stores表的结构图。 - .xsd文件中仅仅包含一个结构图,但是不会有任何数据在里面。 创建 .rpt 文件 : 4) 使用上面的介绍过的方法创建此文件,唯一的不同就是使用数据集来代替前面的直接连接数据。 5)建立.rpt文件之后,右击“详细资料”-->"添加/删除数据库“ 6) 在”数据库专家“窗口中,展开”项目数据“(代替以前的OleDb),展开“ADO.Net数据集”--"DataSet1“,选择”Stores“表。 7) 将”Stores"表添加到“选定的表”中,点击“OK” 8) 使用PULL模式下的方法,建立一个WebForm 建立一个Crystal Report Viewer 控件 9) 建立一个Crystal Report Viewer 控件,并设定其属性,此处与PULL模式下是一致的。 Code Behind 代码: 10) 在Page_Load方法中使用下面的子函数:VB.Net代码: Sub BindReport() Dim myConnection As New SqlClient.SqlConnection() myConnection.ConnectionString= "server= (local)\NetSDK;database=pubs;Trusted_Connection=yes" Dim MyCommand As New SqlClient.SqlCommand() MyCommand.Connection = myConnection MyCommand.CommandText = "Select * from Stores" MyCommand.CommandType = CommandType.Text Dim MyDA As New SqlClient.SqlDataAdapter() MyDA.SelectCommand = MyCommand Dim myDS As New Dataset1() '这就是我们在设计模式上使用的DataSet MyDA.Fill(myDS, "Stores") '你不得不使用与你前面DataSet相同名字。 Dim oRpt As New CrystalReport1() ' 水晶报表绑定 oRpt.SetDataSource(myDS) ' 设定水晶报表的ReportSource CrystalReportViewer1.ReportSource = oRpt End Sub C#代码: private void BindReport(){ string strProvider = "Server=(local);DataBase=pubs;UID=sa;PWD="; CrystalReport1 oCR = new CrystalReport1(); Dataset1 ds = new Dataset1(); SqlConnection MyConn = new SqlConnection(strProvider); MyConn.Open(); string strSel = "Select * from Stores"; SqlDataAdapter MyAdapter = new SqlDataAdapter(strSel,MyConn); MyAdapter.Fill(ds,"stores"); oCR.SetDataSource(ds); this.CrystalReportViewer1.ReportSource = oCR;} 注意:在上面的代码中,你得注意一下oRpt是"Strongly Typed"的报表文件。如果你需要使用"UnTyped"报表,你得使用ReportDocument对象,然后再调用报表文件。 运行你的程序。 11) 运行你的程序 将报表文件导出成为其它格式 你能够将报表文件导出成为下列格式: 1. PDF (Portable Document Format) 2. DOC (MS Word Document) 3. XLS (MS Excel Spreadsheet) 4. HTML (Hyper Text Markup Language – 3.2 or 4.0 compliant) 5. RTF (Rich Text Format) 使用Pull模式导出报表 当导出使用Pull模式创建的文件时,水晶报表准确地打开所需要的数据,下面是执行导出功能的代码:C#代码: VB.Net代码:Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim myReport As CrystalReport1 = New CrystalReport1() '注意:这里我们建立一个strong-typed的水晶报表实例。 Dim DiskOpts As CrystalDecisions.Shared.DiskFileDestinationOptions = New CrystalDecisions.Shared.DiskFileDestinationOptions() myReport.ExportOptions.ExportDestinationType = CrystalDecisions.[Shared].ExportDestinationType.DiskFile ' 导出成为其它文件时也需要这个选项 ' 如Microsoft Exchange, MAPI等. myReport.ExportOptions.ExportFormatType = CrystalDecisions. [Shared].ExportFormatType.PortableDocFormat '这里我们导出成为.pdf格式文件,你也能选择上面的其它类型文件 DiskOpts.DiskFileName = "c:\Output.pdf" '如果你不指定确切的目录,那么文件就会保存到[Windows]\System32目录中去了 myReport.ExportOptions.DestinationOptions = DiskOpts '水晶报表文件不包含直接的FileName属性,因此你不能直接指定保存的文件名 '所以你不得不使用DiskFileDestinationOptions对象,设置它的DiskFileName属性 '为你想要的路径,最后将水晶报表的DestinationsOptions属性指定为上面的DiskFileDestinationOption myReport.Export() '上面的代码将完成导出工作。End Sub 使用PUSH模式导出水晶报表 当导出的报表是由PUSH模式建立的时,第一步就是通过编程建立连接并组装DataSet,设置报表的的SetDataSource属性。再下面的步骤就有Pull模式一样的了。 正则问题。大神进来帮个忙 大家好,我刚开始学习C#。请解释下面的错误提示是什么意思,详细点,谢谢,我现在还没有积分,请不吝赐教 请教这个是什么意思啊 c# 点按钮弹出下载框 membership中createuser方法 HyperLink在GridView中如何应用 ???怎么用计算一个公式值,比如string var = "1+1",我怎么得到结果2? 关于位于的一个算法 急!! 小妹求助,如何用C#实现发短信到手机呢? VB.NET代码改写成C# 请log4net高手帮忙,如何清空系统日志文件??? 泉州企业管理软件开发QQ群:9998333,欢迎在泉州地区工作的光临
我们将通过下面的这些步骤来通过Pull模式来执行水晶报表
1.首先创建rpt文件,并使用水晶报表设计接口设置一些必须的数据连接。
2.拖放一个 CrystalReportViewer控件至aspx页面,设置它的属性指定我们上一步创建的.rpt文件。
3. 在代码中调用DataBind方法。
创建 .rpt 文件:
1) 在右击”解决方案游览器“,在弹出的菜单中选择”添加“--”添加新项“-->”Crystal Report”
2) 在”Crystal Report 库”中选择”作为空白报表“单选按钮,最后单击“确定“。
3)这里将弹出水晶报表设计器。
4) 右击报表中的”详细资料区”,选择“数据库”->“添加/删除数据库..."
5) 在弹出的”数据库专家“中,扩展”OLE DB(ADO)“选项,此时会弹出另外一个”OLE DB(ADO)“窗口。
6) 在 "OLE DB (ADO)" 弹出窗口中,选择 "Microsoft OLE DB Provider for SQL Server" 然后 "Next"
7) 指定连接的信息
服务器 : ASPCN (您的机器是什么名字就写什么)
用户 ID: sa
密码:
数据库 : Pubs
8) 单击”Next“,最后单击”Finish“按钮。
9) 这时你就能在”数据库专家“窗口中看到我们选择的数据库。
10) 扩展”Pubs“数据库,扩展”表“,选择”Stores“表并将其加到”选定的表“区中,单击”OK"按钮。
11) 现在在”字段资源浏览器“中就会在左边”数据库字段“区中显示你选择的表,以及表中的字段。
12) 拖放需要的字段进入报表的”详细资料“区。字段名将会自动出现在”页眉“区。如果你想修改头部文字,则可以右击”页眉“区中的文字,选择”编辑文本对象“选项并进行编辑。
13) 保存,这样我们就有了一个水晶报表文件。
创建 CrystalReportViewer 控件
14) 回到前面的WebForm中,拖放一个Crystal Report Viewer控件到页面中去。
15) 调出Crystal Report Viewer控件的属性窗口,选择“DataBindings"区点击[...]
16) ”Crystal Report Viewer 数据绑定窗口”中,在右边的“可绑定属性”中选择”ReportSource“,并选择右下角的“自定义绑定表达式”中指定.rpt文件路径。
17) 此时你能够从Crystal Report Viewer 控件中看到使用一些虚拟数据组成的报表文件的预览。
注意:在上面的例子中,CrystalReportViewer可以在设计时直接调用真实的数据,因为此时数据已经保存。在这种情况下,设计时当没有保存数据时,他是不能显示数据的。取而代这的是显示一些虚拟的数据,只有在执行时才会选取真实的数据。
Code Behind 程序设计
18) 在Page_Load方法中调用DataBind方法。
执行你的程序
19) 创建并运行你的程序!
您现在就可以直接在Web页面中使用水晶报表内置的一些功能,如页面导航,缩放等。
我们采用下面的几步使用Push模式执行水晶报表:
1. 设计一个DataSet
2. 创建一个.rpt文件同时将其指定给上一步建立的DataSet。
3. 在aspx页面中拖放一个CrystalReportViewer控件同时将其与前面的rpt文件建立联系。
4. 在代码中访问数据库并把数据存入DataSet
5. 调用DataBind方法。
设计一个DataSet
1) 右击“解决方案浏览器”,选择“添加”--“添加新项”-->“数据集”
2) 从“服务器资源管理器”中的“SQL Server”中拖放“Stores”表(位于PUBS数据库中)。
3) 此时在数据集中就会有一个Stores表的结构图。 - .xsd文件中仅仅包含一个结构图,但是不会有任何数据在里面。
创建 .rpt 文件 :
4) 使用上面的介绍过的方法创建此文件,唯一的不同就是使用数据集来代替前面的直接连接数据。
5)建立.rpt文件之后,右击“详细资料”-->"添加/删除数据库“
6) 在”数据库专家“窗口中,展开”项目数据“(代替以前的OleDb),展开“ADO.Net数据集”--"DataSet1“,选择”Stores“表。
7) 将”Stores"表添加到“选定的表”中,点击“OK” 8) 使用PULL模式下的方法,建立一个WebForm
建立一个Crystal Report Viewer 控件
9) 建立一个Crystal Report Viewer 控件,并设定其属性,此处与PULL模式下是一致的。
Code Behind 代码:
10) 在Page_Load方法中使用下面的子函数:
VB.Net代码:
Sub BindReport()
Dim myConnection As New SqlClient.SqlConnection()
myConnection.ConnectionString= "server= (local)\NetSDK;database=pubs;Trusted_Connection=yes"
Dim MyCommand As New SqlClient.SqlCommand()
MyCommand.Connection = myConnection
MyCommand.CommandText = "Select * from Stores"
MyCommand.CommandType = CommandType.Text
Dim MyDA As New SqlClient.SqlDataAdapter()
MyDA.SelectCommand = MyCommand
Dim myDS As New Dataset1()
'这就是我们在设计模式上使用的DataSet
MyDA.Fill(myDS, "Stores")
'你不得不使用与你前面DataSet相同名字。
Dim oRpt As New CrystalReport1()
' 水晶报表绑定
oRpt.SetDataSource(myDS)
' 设定水晶报表的ReportSource
CrystalReportViewer1.ReportSource = oRpt
End Sub C#代码:
private void BindReport()
{
string strProvider = "Server=(local);DataBase=pubs;UID=sa;PWD=";
CrystalReport1 oCR = new CrystalReport1();
Dataset1 ds = new Dataset1();
SqlConnection MyConn = new SqlConnection(strProvider);
MyConn.Open();
string strSel = "Select * from Stores";
SqlDataAdapter MyAdapter = new SqlDataAdapter(strSel,MyConn);
MyAdapter.Fill(ds,"stores");
oCR.SetDataSource(ds);
this.CrystalReportViewer1.ReportSource = oCR;
} 注意:在上面的代码中,你得注意一下oRpt是"Strongly Typed"的报表文件。如果你需要使用"UnTyped"报表,你得使用ReportDocument对象,然后再调用报表文件。
运行你的程序。
11) 运行你的程序
将报表文件导出成为其它格式
你能够将报表文件导出成为下列格式:
1. PDF (Portable Document Format)
2. DOC (MS Word Document)
3. XLS (MS Excel Spreadsheet)
4. HTML (Hyper Text Markup Language – 3.2 or 4.0 compliant)
5. RTF (Rich Text Format)
使用Pull模式导出报表
当导出使用Pull模式创建的文件时,水晶报表准确地打开所需要的数据,下面是执行导出功能的代码:
C#代码:
VB.Net代码:
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim myReport As CrystalReport1 = New CrystalReport1()
'注意:这里我们建立一个strong-typed的水晶报表实例。
Dim DiskOpts As CrystalDecisions.Shared.DiskFileDestinationOptions = New CrystalDecisions.Shared.DiskFileDestinationOptions()
myReport.ExportOptions.ExportDestinationType = CrystalDecisions.[Shared].ExportDestinationType.DiskFile
' 导出成为其它文件时也需要这个选项
' 如Microsoft Exchange, MAPI等.
myReport.ExportOptions.ExportFormatType = CrystalDecisions. [Shared].ExportFormatType.PortableDocFormat
'这里我们导出成为.pdf格式文件,你也能选择上面的其它类型文件
DiskOpts.DiskFileName = "c:\Output.pdf"
'如果你不指定确切的目录,那么文件就会保存到[Windows]\System32目录中去了
myReport.ExportOptions.DestinationOptions = DiskOpts
'水晶报表文件不包含直接的FileName属性,因此你不能直接指定保存的文件名
'所以你不得不使用DiskFileDestinationOptions对象,设置它的DiskFileName属性
'为你想要的路径,最后将水晶报表的DestinationsOptions属性指定为上面的DiskFileDestinationOption
myReport.Export()
'上面的代码将完成导出工作。
End Sub 使用PUSH模式导出水晶报表
当导出的报表是由PUSH模式建立的时,第一步就是通过编程建立连接并组装DataSet,设置报表的的SetDataSource属性。再下面的步骤就有Pull模式一样的了。