利用水晶报表展现数据表
软件世界
前言:水晶报表功能强大,应用广泛。可针对常见和不常见的数据源实现报表输出,面向打印。它拥有多样的报表格式和方便的基于控件的开发方式,在报表中可以实现排版、分页、打印等基本功能并提供预览,同时还提供交互查询统计、多种图表自动显示以及DOC、PDF、XLS等格式的输出。本文就将在C#+SQL Server的环境下对它的使用以图解的方式来做一个简单的讲解。
1.建立报表
水晶报表支持C/S和B/S两种方式使用。它已经集成到Visual Studio.Net开发环境中,可提供用户从多种数据源中提取相关数据。当安装完Visual Studio.Net以后,在所安装目录Microsoft Visual Studio .NET 2003\Crystal Reports\Samples的子目录下有系统提供的B/S和C/S的例程,用户可直接使用。但许多用户在自行建立报表后却常常发现报表在C/S下可以正常显示而在B/S下显示登录出错,即使是照着MSDN文档一步步做也提示出错。现就C# + SQL Server的环境下如何使用水晶报表做一简单讲述。本例讲述如何访问SQL Server中Master数据库的sysusers表。
首先建立图1所示项目,在项目中点击“新建新项”按钮,在打开窗口中选择建立如图2的crtSample.rpt报表,这个报表可作为C/S和B/S的报表源使用。
在图3中选择“使用报表专家”。
2.连接报表数据库
在图4中点击“OLE DB (ADO)”列表出现图5,选择“Microsoft OLE DB Provider for SQL Server”选项。
点击“下一步”,在图6中输入SQL Server数据库所在主机地址和Master数据库的用户名及密码。这里有一个关键点:如果要能在B/S方式下打开报表,不要选择“集成安全”复选框,否则会显示登录失败(对C/S方式则无影响)。如果用户已经选择了“集成安全”复选框,并建立了连接,此连接是无法删除的,需要重新启动Visual Studio.Net集成开发环境重新建立连接。
在图6 中点击“完成”就结束了报表数据库的连接工作。系统显示图7界面。
3.设计报表
这时如果是自行建立的数据库会在“dbo”条目下显示所有可用的表,这里我们要打开master数据库,可点击“添加命令”条目,在图8中输入所示查询命令。
点击“确定”和“下一步”,在图9中点击“全部添加”(读者可自行选择要显示的字段)。
点击“下一步”,显示图10 ,选择以issqluser字段分组统计。
用户可根据情况自己选择总计、图表,如图11所示。
当完成上述步骤后点击“完成”。得到图12。
用户此时可根据具体问题的情况来移动、添加或更改报表,并将结果保存。至此完成了报表的设计工作。
4.查看显示报表
接下来的工作是如何查看、显示报表,这时就要用到CrystalReportViewer控件,它会解释绘制报表,并负责我们所熟悉的打印任务。对于C/S方式,只要在Form中建立CrystalReportViewer控件,将其ReportSource属性指向crtSample.rpt报表文件即可,而对于B/S方式则需添加额外的代码(具体代码下载地址:http://www.cpcw.com/38/code.rar)。
运行后的结果如图13。
图13左上角的是分组项。最上面是导航条,右上角的图标,用户可以自行更换。
小结
B/S方式下对.rpt报表文件的调用是固定的,要得到不同的报表,只要更改.rpt文件就可以了。这里只对如何在ASPX中使用报表做了一个初步的介绍。如果要将报表做得更美观、实用,就要靠大家多多使用和熟悉了。












