精谈“VS2010中水晶报表应用及实例”分享



------
精谈“VS2010中水晶报表应用及实例”分享
声明一下,我只是为了研究VS2010中的报表部分
基本分类如下:
第一部分:VS2010简介
VS2010是微软的提供的一套完整的开发环境,功能也是相当的大
微软宣布了下一代开发工具和平台的正式名称,分别称为“Visual Studio Team System 2010”和“.NET Framework 4.0”,很显然二者会在2010年发布。

VSTS 2010开发代号“Rosario”(阿根廷港市罗萨里奥),将致力于引领下一代平台发展、提高开发人员的工作效率和热情、创建突破性应用程序、推动云计算等新兴趋势、合理化应用程序生命周期管理(ALM)。

VSTS 2010将支持统一建模语言(UML)和特定域语言(DSL),可为各类开发人员提供合适的工具,而这也是微软更大模型平台的一部分,“Oslo”技术也是它的一部分。
第二部分:报表功能“水晶报表”
1)SAP Crystal Reports, version for Visual Studio 2010 - 
http://downloads.businessobjects.com/akdlm/cr4vs2010/CRforVS_13_0.exe
包括了报有DLL的水晶报表文件

2)SAP Crystal Reports, version for Visual Studio 2010 - 
http://downloads.businessobjects.com/akdlm/cr4vs2010/CRforVS_mergemodules_13_0.zip
水晶报表部署时用到的文件

3)SAP Crystal Reports runtime engine for .NET Framework 4 (32-bit)
http://downloads.businessobjects.com/akdlm/cr4vs2010/CRforVS_redist_install_32bit_13_0.zip
只支持32位系统的包

4)SAP Crystal Reports runtime engine for .NET Framework 4 (64-bit)
http://downloads.businessobjects.com/akdlm/cr4vs2010/CRforVS_redist_install_64bit_13_0.zip
只支持64位系统的
------
(1)下面做一个简单的水晶报表,在项目中建一个窗体FORM1,一个水晶报表CrystalReport1,一个数据集 DATASET1;(水晶报表的设置跟以前版本的一样)

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

private void Form1_Load(object sender, EventArgs e)

  {

  SqlConnection con = new SqlConnection("Data Source=127.0.0.1;Initial Catalog=cldz;User ID=sa;Password=888");

  con.Open();

  SqlDataAdapter da = new SqlDataAdapter("select top 100 * from table", 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;/

 

   

  }

 

(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)

如果制作好的安装程序在安装过程中出未能注册某一个模块请到下面网址下载一个适合你系统版本的文件安装,就可以避免出错了;


------
小鸟 送分哇?
我来接分
------

------
好哇好哇!

我来顶一个!!!
------

这个报表的相关控件

------
报表一直是头痛的问题,好多企业转向office操作,学习啦,哈哈。。。
------
报表的难点在于报表的布局设计,个人认为,楼主有好办法没
------
我正在整理这个“水晶报表”..........
------
谢谢!请继续整理..............
------
不错不错 支持下
------
好哇好哇!

我来顶一个!!!
------
发个图让你们上上眼

------
好哇好哇!

我来顶一个!!!
------
努力学习中,继续整理..............
------
好哇好哇!

我来顶一个!!!
------
努力学习
------
谢谢分享!
------
很不错啊~~~ 顶起来~~
------
学习ing
------
学习了一下,不错!
------
学习ing
------
这个帖子不错……学习ing
------
我也来学习一个
------
学习。
------
学习学习学习
------
继续学习中.......
------
占楼学习 顺便接分
------
Good 学习!
------
不错,不错,学习了
------
学习了,,
------
非常不错,学习学习.
------
标记一下。 以后可能会用到。
------
楼主真不错
------
不错。分离一下。
------
up++
------
加入收藏,谢谢
------
果斷搶分 小鳥來分 不做評判
------
CrystalReport for vs2010 水晶报表安装方式如下:
1、在你的开发环境中找到Visual Studio安装目录下的"SDK"v2.0"BootStrapper"Packages"CrystalReports,将安装文件CRRedist2010_x86.msi,复制到服务器中并安装。

2、如果程序还不能运行,需要将水晶报表的五个dll文件复制到你的网站下的bin目录,其五大将的名称如下:

  CrystalDecisions.CrystalReports.Engine.dll

  CrystalDecisions.ReportSource.dll

  CrystalDecisions.Shared.dll

  CrystalDecisions.Web.dll

  CrystalDecisions.Windows.Forms.dll


------
给力,顶一个
------
楼主 我按照你的方法来做,就新建了一个报表没设置格式的,然后放到DEBUG目录下,程序加载的时候,抛出异常说加载报表失败,是不是要在报表那设置格式的,我新手来的,不懂。
------
我用的是08的,应该没什么影响的吧。
------
引用 52 楼 laoerxudaolin 的回复:
我用的是08的,应该没什么影响的吧。

------
感谢分享,近期正准备研究
------
wa ka ka
------
学习了!
------
学习了~
------
确实不错~
------
学习。
------
来学习一下,呵呵!
------
谢谢分享!

------
报表的难点在于报表的布局设计,个人认为,楼主有好办法没
------
看看!!!!!!!!!!!!
------
学习了
------
mark
------
学习中,谢谢分享!!!
------
前段时间在找这些资料呢,这会就直接有了,学习学习

------
这个正想学呢
------
谢谢分享
------
谢谢!请继续整理..............
------
好贴要顶起
------
不错不错 学习中。 。。。
------
报表的难点在于:用户想咋整就能咋整而代码不用改变
------
占楼接分
------
举个真实的例子:

前段时间,我们公司和一个竞争对手共同 应对客户提出的问题:
竞争对手先出马:客户对他们的软件提出的改动有200多个,牵涉的报表有100多份。竞争对手马上连客户电话都不敢接了....
生意自然留给了我们。

我们可以在一周能轻松完成200份(只要高中水平的基础,培训一周就可以保质、保量的“开发报告”,报告量再多几百份就再增加几十个普通人而已)报告的修改、测试工作
------
GOOD.LZ辛苦了.
------
GOOD.LZ辛苦了
------
引用 85 楼 o_yale_o 的回复:
举个真实的例子:

前段时间,我们公司和一个竞争对手共同 应对客户提出的问题:
竞争对手先出马:客户对他们的软件提出的改动有200多个,牵涉的报表有100多份。竞争对手马上连客户电话都不敢接了....
生意自然留给了我们。

我们可以在一周能轻松完成200份(只要高中水平的基础,培训一周就可以保质、保量的“开发报告”,报告量再多几百份就再增加几十个普通人而已)报告的修改、测试工作

------
不错不错 学习中
------
引用 83 楼 o_yale_o 的回复:
报表的难点在于:用户想咋整就能咋整而代码不用改变

------
引用 6 楼 sgzhou12345 的回复:
这个报表的相关控件

------
好东西,收藏
------
工具箱中没有
CrystalReportViewer、CrystalReportDocument
------
引用 90 楼 sgzhou12345 的回复:

引用 83 楼 o_yale_o 的回复:
报表的难点在于:用户想咋整就能咋整而代码不用改变

我现在也在分析一个问题时出现一个问题
1)C#中的水晶报表是编译时也包含在EXE中
2)DELPHI那样用RReports315cn第三方控件时的这个报表工具生成
的报表文件:UserLog.fr3,是在使用时才加载进行的呀???
这样DELPHI中的报表文件UserLog.fr3在一定……

------
水晶报表是个好东西
------
跟进 学习中
------
Mark一下下
------
引用 94 楼 hzscorpio 的回复:
工具箱中没有
CrystalReportViewer、CrystalReportDocument

------
来学习一下。。。谢谢
桂ICP备07017180号