VS2010中水晶报表应用与部署

Vs2010的水晶报表; 选择下面一个下载(1是包括所有DLL);

下载安装后打开VS2010就可以在左边工具栏中看到CRYSTALREPORTVIEWER,并且可以新建水晶报表了;

用法跟以前版本的用法类似;  不过要注意下面几点;

A.  运行环境不能为.NET FRAMEWORK 4.0 CLINET PROFILE,要改为.NET FRAMEWORK 4,选中项目右键属性就可以更改了;

B. 在项目中加一个APP.CONFIG(这是针对WINFORM项目),如果是WEB项目就不用加了,里面有一个WEB.CONFIG;在这配置文件中加 上  <startup useLegacyV2RuntimeActivationPolicy="true">

<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/></startup>

这可以避免ADO.NET与水晶报表运行时由于.NET版本问题出错

1)SAP Crystal Reports, version for Visual Studio 2010 -
包括了报有DLL的水晶报表文件

2)SAP Crystal Reports, version for Visual Studio 2010 -
水晶报表部署时用到的文件

3)SAP Crystal Reports runtime engine for .NET Framework 4 (32-bit)

只支持32位系统的包

4)SAP Crystal Reports runtime engine for .NET Framework 4 (64-bit)

只支持64位系统的

(1)Winform:

下面做一个简单的水晶报表,在项目中建一个窗体FORM1,一个水晶报表CrystalReport1,一个数据集 DATASET1;(水晶报表的设置跟以前版本的一样)

在窗体上放一个CRYSTALREPORTVIEWER,然后在FORM1的LOAD事件下写上;我这是把水晶报表放在DEBUG这个文件夹下动态加载的;你也可以直接放在项目中在CRYSTALREPORTVIEWER上指定报表名称;

private void Form1_Load(object sender, EventArgs e)

{

SqlConnection con = new SqlConnection("Data Source=10.100.100.5;Initial Catalog=cldz;User ID=proc4;Password=77cc88");

con.Open();

SqlDataAdapter da = new SqlDataAdapter("select top 100 * from ZZZPJ", con);

DataSet ds = new DataSet();

da.Fill(ds, "ZZZPJ");

string reportPath = Application.StartupPath + @"\CrystalReport1.rpt";

ReportDocument rd = new ReportDocument();

rd.Load(reportPath);

rd.SetDataSource(ds.Tables[0].DefaultView);

this.crystalReportViewer1.ReportSource = rd;/

}

 

Web:

1.首先新建一个水晶报表

 

VS2010中水晶报表应用与部署_第1张图片

2.添加之后选择”作为空白报表“

3.新建一个数据集

VS2010中水晶报表应用与部署_第2张图片

4.在数据集的页面上右击选择添加--->数据表 默认为DataTable1

VS2010中水晶报表应用与部署_第3张图片

5.在我们刚才添加的数据表上右击选择添加--->列

VS2010中水晶报表应用与部署_第4张图片

6.DataType 对应数据库中的类型。

VS2010中水晶报表应用与部署_第5张图片

7.回到水晶报表的页面,在字段资源管理器中右击数据库字段,选择数据专家--->项目数据--->ADO.NET 数据集,我们刚才新建的数据集就会出现在这里

VS2010中水晶报表应用与部署_第6张图片

8.再看字段资源管理器,在数据库字段下面有我们刚才添加的表和字段

VS2010中水晶报表应用与部署_第7张图片

9.可以把Title拖到要显示的地方

VS2010中水晶报表应用与部署_第8张图片

 

到此为止,水晶报表就部署好了,下面就要具体应用了。新建一个web页面,把工具箱中的CrystalReportViewer拖到页面上

protected void Page_Load(object sender, EventArgs e)

{

SqlConnection con = new SqlConnection("Data Source=.;Initial Catalog=cldz;User ID=proc4;Password=77cc88");

con.Open();

SqlDataAdapter da = new SqlDataAdapter("select title from ZZZPJ", con);

DataSet ds = new DataSet();

da.Fill(ds, "ZZZPJ");

CrystalReportSource crysource = new CrystalReportSource();     //水晶报表实例化
crysource.Report.FileName = "CrystalReport1.rpt";
crysource.ReportDocument.Load(Server.MapPath("CrystalReport1.rpt"));  //加载水晶报表.

crysource.ReportDocument.SetDataSource(ds.Tables[0].DefaultView);

crysource.DataBind();          //水晶报表绑定数据
CrystalReportViewer1.ReportSource = crysource;
CrystalReportViewer1.DataBind();     //水晶报表控件获取水晶报表绑定的数据源。}

最后效果如下:

 VS2010中水晶报表应用与部署_第9张图片

(2)vs2010水晶报表的发布有两种方式;

一,就直接下载MSI文件安装在客户端,客户端就可以用了;32位的下载上面的3);如果是64位的下载上面的4);

二, 就是下载上面2)中的MSM文件,里面第一个是CRRuntime_13_0.msm这个是英文包;如果需要支持中文就加一个MSM,( CRRuntime_13_0_zh_cn.msm); 另外加一个CRRuntime_13_0_maps.msm 这个可以不用;

用VS2010自带的打包软件打包发布,新建一个安装项目,安装项目的制作过程这里就不详细说了,跟以前的制过程一样;制作完后,右键项目选添加―――合并模块――把上面提到的三个以.MSM结尾的文件加入进去,并且把

C:\Program Files\Common Files\Merge Modules文件夹中的VC100的MSM加入进去,如果是32位的就加X86的,如果是64位的就加X64的;最后确定;

再右键项目选属性,点击“系统必备”按钮;在弹出的对话框中选中 VISUAL C++ 2010 运行库,注意根据系统选,有32与64位的;

在下面的单选按钮中选第二项“从与我的应用程序相同的位置下载系统必备组件”;

这样发布的准备工作就做完了,选择菜单上的生成――生成项目或者右键项目点生存就可以了;

注意:(我在上面所有提到的“项目”不是VS工具栏上面菜单中的“项目”;是你解决方案下的项目,比如你新建了一个安装项目叫SETUP1,那就是指SETUP1)

如果制作好的安装程序在安装过程中出未能注册某一个模块请到下面网址下载一个适合你系统版本的文件安装,就可以避免出错了;
http://www.microsoft.com/downloads/en/details.aspx?familyid=766a6af7-ec73-40ff-b072-9112bab119c2&displaylang=en

你可能感兴趣的:(VS2010)