Crystal Report.net Web报表开发日记(二)

web

使用Crystal Report.net进行开发的一些预备知识:

执行模式
  水晶报表取数据可以使用下面的方法实现:
  Pull 模式:
  被请求时,水晶报表直接根据指定的驱动连接数据库然后组装这些数据。
  Push 模式 :
  此时开发表不得不自己编写代码连接数据并组装DataSet,同时将它传送至报表。在些这种情况下,通过使用连接共享以及限制记录集合的大小,可以使用报表性能最大化。

报表类型:
  水晶报表设计器能够直接包含报表至工程也能够使用独立的报表对象。
  Strongly-typed 报表 :
  当你将报表文件加入到项目中去时,它就变成了一个了“ strongly-typed“报表。在这些情况下,你将拥有直接创建报表的对象的权力,这将减少一些代码并且能够提供一些性能。
  Un-Typed 报表 :
  这里的报表并不直接包含在项目中,因此称为‘un-typed’ 报表。在这种情况下,你不得不使用水晶报表的”ReportDocuemt“对象建立一个实例,并且”手动“地凋用报表。

其它注意事项
  尽管水晶报表查看器拥有一些很酷的功能,如缩放、页面导航等。但是他不提供打印功能,你不得不调用游览器的打印功能。
  VS.Net中的水晶报表如果没有注册,那么它只能使用30次,30次后,”保存“功能就不能再使用了。为了避免这个,你不是不在 http://www.crystaldecisions.com/这里注册此产品。 (好像不是这样子的,不注册也好像能用很长的时间,只是不能提供支持)
  默认安装的水晶报表只能支持5个用户,为了支持更多的用户,你不得不在 http://www.crystaldecisions.com/中购买许可证。

      我在实际开发应用中使用的是Push 模式 : , 因为一般表格模式比较简单,在Web开发上完全可以用其他方式替代,因此,我使用的是实际开发中的图形报表做为例子。

开发步骤如下:
1、在项目中创建一个数据集,然后右键->选择“新建element”,element的名称就是数据表的名称。
      数据集名称暂时定为:ReportData,element相当于一个数据表,名称暂定为:DataTable,下一步是给element
      增加字段,也就是我们报表中要使用的数据。注意字段类型。

2、绘制一个空的Crystal Report的报表文件(*.rpt),然后,在报表绘制界面上右键->选择“数据库->添加/删除数据库”打开“数据库专家”,选择“项目数据->ADO.net数据集”,你会看到刚才创建的element数据集ReportData,选用DataTable做为报表数据。下一步,通过报表专家插入“图表”,使用DataTable中的数据字段
来生成报表的数据。

3、创建一个Web窗体,在窗体上放一个CRYSTALREPORTVIEWER控件!写代码获取填充一个定义的数据集DataSet,然后,生成一个“报表文件的对象”,把该对象的数据源指向已经填充数据的DataSet,对CRYSTALREPORTVIEWER控件的ReportSource属性赋值等于生成的“报表文件的对象”,CRYSTALREPORTVIEWER控件的Visible属性设置为true   ;

代码注意事项:
1、DataSet中填充数据的表的名称必须和原来定义的element一致,否则报表出来会是空白
2、用于填充DataSet数据表的字段也要和element定义的字段属性,名称一致!
比如:
element中定义字段有两个:EntryName string, EntrySales decimal

填充DataSet的SQL语句,
Select B.Item_Name as EntryName ,Sum(A.Expend_Money) AS EntrySales  From T_Ware_Sales .......

完成以上3个步骤,你就可以在IE上看到你的Web图形报表了,其实就是Crystal生成的一张图片!
大功告成!

下一个章节,我将用自己的代码来详细说明整个过程。不过要是熟悉.net开发的按照我在本章节所描述的内容,应该已经没问题了!
 

时间: 2024-10-31 15:09:54

Crystal Report.net Web报表开发日记(二)的相关文章

Grid++Report实现Web报表

     最早接触报表是在机房收费系统中,那时候还是在C/S模式下,所以可以直接在窗体上添加报表.而现在,已经转战B/S模式下.本篇博客将介绍如何实现Web报表.     [需求说明]     在我们的生活中,表格也是无处不在,清晰而有条理.在这次的项目中,也需要在浏览器中直接打印报表(非IE打印)与导出报表,让用户使用更安全.     [开发环境]     整个项目是B/S模式下的,前台采用的MVC模式.开发中的软件:VS2012,Grid++Report5.0     [实现步骤]    

基于struts的web应用开发总结(二)

一:打开模态框时showModual()方法并没有提供打开的窗体的title的参数,title要写在打开的模态框的jsp页面的<head></head>的内. 且要把<TITLE></TITLE>标签放在<HEAD></HEAD>中的最上边. 分析: 1 模式窗口比较特殊,所以对于title的位置比较敏感. 2 title标签本来就应该放在<HEAD></HEAD>中的最上边, 只不过普通的 窗口允许或者忽略了

WEB报表开发,返回第一页的方法

问题描述 用了Stimulsoft Reports的StiWebViewer web控件现在打开一个报表后,翻到第三页后只能一页一页的倒回去.试过这两个代码,都不行,还有没有其他办法?reportViewer.ResetPageNumberOnAssignNewReport = true;report.PageNumber = 1;/code] 解决方案 试试这个方法,代码如下:if (!Page.IsPostBack) reportViewer.ResetCurrentPage();repor

使用decj简化Web前端开发(二) 声明式表单增强和页面初始化

引言 表单(Form)是Web应用中数据展现和收集常用的HTML元素.开发人员经常需要处理表单的数据填充.数据校验和格式化以及数据打包.另外,页面在加载完毕后往往需要执行一段初始化逻辑.本期将介绍decj对HTML表单的声明式增强和声明式页面/模块初始化这2个特性. 声明式表单功能增强 decj以声明式编程的方式对表单数据展现和收集功能进行增强.在数据展现方面,decj支持根据指定的数据自动将数据填充到表单中.对表单字段值进行自动格式化.在数据收集方面,decj支持对表单字段值进行自动校验.对表

VS2005+Crystal Report开发Web应用

web 提要 本文试验将帮助你创建一个使用Crystal Report的Web应用程序-报告中的数据来源于一个对象集合,你将创建一个专门的类来保存股票市场数据. 一. 开发目标 结束本试验后,你将能够更好地: · 创建一个专门的类来保存股票市场值. · 实例化这个类. · 使用数据填充一个对象集合. · 通过一个web表单动态地添加数据. · 使用Crystal Report Designer熟练地创建一个水晶报表. 二. 内容说明 本实验将引导你创建一个Crystal Reports web应

在 Visual Studio .NET中使用Crystal Report(上) cashcho(翻译)

visual 在 Visual Studio .NET中使用Crystal Report(上) from www.aspfree.comtranslated by cash(天下第七)cashcao@msn.com 在我们开始这个关于如何在VS.NET上使用Crystal Reports的小小的研究之前,我和我的朋友都对如何把它应用于我们的Web程序中感到非常的疑惑.一个星期以后,经过一些努力(在网上查找"how-to"文档),我们掌握了将简单的报表加入asp.net程序中的一些小小技

Crystal Report在.net中的两种显示方式

原文:Crystal Report在.net中的两种显示方式 Crystal Report在.net中的两种显示方式 编写人:CC阿爸   2014-7-29   近来在完成深圳一公司的项目,对方对各方面要求相当严格,一不满意就拒绝签收,为了对修正水晶报表显示及导出的一些小问题,无赖之下,仔细了解一下水晶报表的操作方法,逼苦我们这些苦逼的程序,虽说在以前的项目中,也常使用crystal report 来制作报表.并且针对web与winform 都各有不同的地方.   但总的来讲:显示水晶报表目前

使用C#和Excel进行报表开发(3)

有的web项目选用Excel作为报表方案,在服务器端生成Excel文件,然后传送到客户端,由客户端进行打印.在国内的环境下,相对PDF方式,Excel的安装率应该比pdf阅读器的安装率要高,同时,微软也为C#操作Excel提供了完备的接口,虽然ZedGraph和其他的商业报表工具生成的统计图也很好,但是人家微软毕竟是大品牌,值得信赖. 本文介绍使用C#调用Excel来生成统计图(Chart)的以及Chart图中各部分控制的一些方法. 在上一篇使用C#和Excel进行报表开发(二)-操作统计图(C

eclipse-Eclipse下怎么开发crystal report,需要安装插件吗?

问题描述 Eclipse下怎么开发crystal report,需要安装插件吗? 在Eclipse下开发crystal report,需要安装什么插件吗?求下载链接 解决方案 http://blog.sina.com.cn/s/blog_45daee4a0100ou5n.html 解决方案二: 安装 jBPM 的 Eclipse 开发插件