一,拖放报表查看器
CrystalReportViewer控件允许在应用程序中查看 Crystal Report。ReportSource 属性用于设置要查看哪个报表。
该属性设置之后,报表显示在查看器中。报表源可以是ReportDocument、报表文件的路径,也可以是强类型报表。
1.往窗体上拖放一个报表查看器 crystalReportViewer
二,创建报表
1.指向“添加”,单击“添加新项”。
2.在“添加新项”对话框中,从“模板”区域选择 Crystal Report,将报表命名为rptClient,单击“打开”。
3.在 Crystal Report 库中,选择下列选项之一:
(1)使用报表专家 — 指导您完成报表的创建过程,并将您的选择添加到 Crystal Report Designer。
(2)作为空白报表 — 打开 Crystal Report Designer。
(3)来自于现有的报表 — 创建新报表,它与指定的另一报表设计相同。
(Crystal Reports 通过数据库驱动程序与数据库连接。每个驱动程序都被编写为可处理特定数据库类型或数据库访问技术。
拉和推模型
为了向开发人员提供最灵活的数据访问方法,Crystal Reports 数据库驱动程序被设计为可同时提供数据访问的拉模型和推模型。
拉模型
在拉模型中,驱动程序将连接到数据库并根据需要将数据“拉”进来。使用这种模型时,与数据库的连接和为了获取数据而执行的 SQL 命令都同时由 Crystal Reports 本身处理,不需要开发人员编写代码。如果在运行时无须编写任何特殊代码,则使用拉模型。
推模型
相反,推模型需要开发人员编写代码以连接到数据库,执行 SQL 命令以创建与报表中的字段匹配的记录集或数据集,并且将该对象传递给报表。该方法使您可以将连接共享置入应用程序中,并在 Crystal Reports 收到数据之前先将数据筛选出来。)
三、从 ADO.NET 数据集制作报表
1.在项目中新建一个架构文件。在解决方案资源管理器中,右击项目名,“添加”—》“添加新项”—》“数据集”(Dataset1.xsd )。
2.在服务器资源管理器中,右击“数据连接”—》“添加连接”。
3.添加连接后,数据库及其表和字段就出现在服务器资源管理器的“数据连接”节点下面,将需要的表从服务器资源管理器中拖动到 Dataset1.xsd 的“数据集”选项卡上并保存和生成数据集对象。
4.将报表连接到 ADO.NET 数据集对象。转到报表界面(CrystalReport1.rpt)—》“字段资料管理器”—》右击“数据库字段”—》“添加/删除数据库”—》项目数据—》“ADO.NET 数据集”
四、动态改变数据源的代码
public ReportDocument rd = new ReportDocument();
public Form1()
{
InitializeComponent();
this.Do(c2.str1,c2.str2,c2.title1,c2.title2);
}
private void Do(string str1,string str2,string title1,string title2)
{
DataSet ds = new DataSet();
Class1 cl = new Class1();
ds = cl.GetData(str1,str2, title1,title2);
rd.Load(Application.StartupPath+"\\CrystalReport1.rpt");
rd.SetDataSource(ds);
this.crystalReportViewer1.ReportSource = rd;
}
public DataSet GetData(string str1,string str2,string title1,string title2)
{
……略
da.Fill(ds,"CrstalReport_Semye");
……略
return ds;
}
五、安装和部署项目
1.右击解决方案—》“新建项目”—》左边目录选择“安装和部署项目”—》“安装项目”
2.右击新建的安装项目—》“添加”—》“合并模块”—》选择以下几个文件:
('C:\Program Files\Common Files\Merge Modules' )
Crystal_Database_Access2003.msm
Crystal_Database_Access2003_chs.msm
Crystal_Managed2003.msm
Crystal_Managed2003_chs.msm
Crystal_regwiz2003.msm
VC_User_CRT71_RTL_X86_---.msm
VC_User_STL71_RTL_X86_---.msm
3.右键点击 Crystal_regwiz2003.msm 的属性,在“MergeMouduleProperties”里的“License Key”填入:AAP5GKS0000GDE100DS(生成Crystal Report是用到注册号的密码!)
4、选定项目,鼠标右键,弹出快捷菜单,选视图-文件系统,进入文件系统视图。
5、在“应用程序文件夹”里添加程序需要用到的文件,例如EXE文件(工程BIN文件夹下的EXE,及C:\WINDOWS\system32下的msiexec.exe),配置文件,图标文件等。
6、用户的程序菜单创建一文件夹
7、创建EXE文件快捷方式,改成适当的名字,剪切粘贴到“用户的程序菜单\文件夹”和“用户桌面”。鼠标右键看属性,ICON,从“应用程序文件夹”中选择图标文件。
8.更改项目属性。选定项目,然后选菜单栏“视图”—“属性窗口”,将productname及title改为软件名称,它们在安装过程中会显示。拷贝productcode;切换到文件系统视图,选“用户的程序菜单”,找到卸载文件的快捷方式,鼠标右键看属性,在属性Arguments里粘贴刚才复制的productcode。
9.更改安装路径。切换到文件系统视图,选“应用程序文件夹”,属性,将[ProgramFilesFolder][Manufacturer]\[ProductName]中的[ProductName]改成打算安装后的文件夹名称,并且去掉[Manufacturer]。
10.重新生成解决方案,生成安装包。右击安装项目—》“生成”。
部署完成,安装后: