semye-静心

积累,点点滴滴
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

简单水晶报表程序与安装部署文件制作

Posted on 2007-03-26 18:06  semye  阅读(1914)  评论(4编辑  收藏  举报

一,拖放报表查看器

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.重新生成解决方案,生成安装包。右击安装项目—》“生成”。

部署完成,安装后: