Asp.Net中使用水晶报表(中)

使用Pull模式

  我们将通过下面的这些步骤来通过Pull模式来执行水晶报表

  1.首先创建rpt文件,并使用水晶报表设计接口设置一些必须的数据连接。

  2.拖放一个 CrystalReportViewer控件至aspx页面,设置它的属性指定我们上一步创建的.rpt文件。

  3. 在代码中调用DataBind方法。

  创建 .rpt 文件:

  1) 在右击”解决方案游览器“,在弹出的菜单中选择”添加“--”添加新项“-->”Crystal Report”  

  2) 在”Crystal Report 库”中选择”作为空白报表“单选按钮,最后单击“确定“。  

  3)这里将弹出水晶报表设计器。  

  4) 右击报表中的”详细资料区”,选择“数据库”->“添加/删除数据库..."

  5) 在弹出的”数据库专家“中,扩展”OLE DB(ADO)“选项,此时会弹出另外一个”OLE DB(ADO)“窗口。

  6) 在 "OLE DB (ADO)" 弹出窗口中,选择 "Microsoft OLE DB Provider for SQL Server" 然后 "Next"

  7) 指定连接的信息

  服务器 : ASPCN (您的机器是什么名字就写什么)
  用户 ID: sa
  密码:
  数据库 : Pubs

  8) 单击”Next“,最后单击”Finish“按钮。

  9) 这时你就能在”数据库专家“窗口中看到我们选择的数据库。

  10) 扩展”Pubs“数据库,扩展”表“,选择”Stores“表并将其加到”选定的表“区中,单击”OK"按钮。

 

  11) 现在在”字段资源浏览器“中就会在左边”数据库字段“区中显示你选择的表,以及表中的字段。

  12) 拖放需要的字段进入报表的”详细资料“区。字段名将会自动出现在”页眉“区。如果你想修改头部文字,则可以右击”页眉“区中的文字,选择”编辑文本对象“选项并进行编辑。

  13) 保存,这样我们就有了一个水晶报表文件。

  创建 CrystalReportViewer 控件

  14) 回到前面的WebForm中,拖放一个Crystal Report Viewer控件到页面中去。

  15) 调出Crystal Report Viewer控件的属性窗口,选择“DataBindings"区点击[...]

  16) ”Crystal Report Viewer 数据绑定窗口”中,在右边的“可绑定属性”中选择”ReportSource“,并选择右下角的“自定义绑定表达式”中指定.rpt文件路径。  

  17) 此时你能够从Crystal Report Viewer 控件中看到使用一些虚拟数据组成的报表文件的预览。

  注意:在上面的例子中,CrystalReportViewer可以在设计时直接调用真实的数据,因为此时数据已经保存。在这种情况下,设计时当没有保存数据时,他是不能显示数据的。取而代这的是显示一些虚拟的数据,只有在执行时才会选取真实的数据。

  Code Behind 程序设计

  18) 在Page_Load方法中调用DataBind方法。

  执行你的程序

  19) 创建并运行你的程序!  

  您现在就可以直接在Web页面中使用水晶报表内置的一些功能,如页面导航,缩放等。

  我们将通过下面的这些步骤来通过Pull模式来执行水晶报表

  1.首先创建rpt文件,并使用水晶报表设计接口设置一些必须的数据连接。

  2.拖放一个 CrystalReportViewer控件至aspx页面,设置它的属性指定我们上一步创建的.rpt文件。

  3. 在代码中调用DataBind方法。

  创建 .rpt 文件:

  1) 在右击”解决方案游览器“,在弹出的菜单中选择”添加“--”添加新项“-->”Crystal Report”  

  2) 在”Crystal Report 库”中选择”作为空白报表“单选按钮,最后单击“确定“。  

  3)这里将弹出水晶报表设计器。  

  4) 右击报表中的”详细资料区”,选择“数据库”->“添加/删除数据库..."

  5) 在弹出的”数据库专家“中,扩展”OLE DB(ADO)“选项,此时会弹出另外一个”OLE DB(ADO)“窗口。

  6) 在 "OLE DB (ADO)" 弹出窗口中,选择 "Microsoft OLE DB Provider for SQL Server" 然后 "Next"

  7) 指定连接的信息

  服务器 : ASPCN (您的机器是什么名字就写什么)
  用户 ID: sa
  密码:
  数据库 : Pubs

  8) 单击”Next“,最后单击”Finish“按钮。

  9) 这时你就能在”数据库专家“窗口中看到我们选择的数据库。

  10) 扩展”Pubs“数据库,扩展”表“,选择”Stores“表并将其加到”选定的表“区中,单击”OK"按钮。

 

  11) 现在在”字段资源浏览器“中就会在左边”数据库字段“区中显示你选择的表,以及表中的字段。

  12) 拖放需要的字段进入报表的”详细资料“区。字段名将会自动出现在”页眉“区。如果你想修改头部文字,则可以右击”页眉“区中的文字,选择”编辑文本对象“选项并进行编辑。

  13) 保存,这样我们就有了一个水晶报表文件。

  创建 CrystalReportViewer 控件

  14) 回到前面的WebForm中,拖放一个Crystal Report Viewer控件到页面中去。

  15) 调出Crystal Report Viewer控件的属性窗口,选择“DataBindings"区点击[...]

  16) ”Crystal Report Viewer 数据绑定窗口”中,在右边的“可绑定属性”中选择”ReportSource“,并选择右下角的“自定义绑定表达式”中指定.rpt文件路径。  

  17) 此时你能够从Crystal Report Viewer 控件中看到使用一些虚拟数据组成的报表文件的预览。

  注意:在上面的例子中,CrystalReportViewer可以在设计时直接调用真实的数据,因为此时数据已经保存。在这种情况下,设计时当没有保存数据时,他是不能显示数据的。取而代这的是显示一些虚拟的数据,只有在执行时才会选取真实的数据。

  Code Behind 程序设计

  18) 在Page_Load方法中调用DataBind方法。

  执行你的程序

  19) 创建并运行你的程序!  

  您现在就可以直接在Web页面中使用水晶报表内置的一些功能,如页面导航,缩放等。

  

Asp.Net中使用水晶报表(中)的更多相关文章

  1. Asp.Net中使用水晶报表

    Asp.Net中使用水晶报表(上) 在我们对VS.Net中的水晶报表(Crystal Reports)进行研究之前,我和我朋友对如何将这个复杂的东东加入我们的Web应用有着非常的好奇心.一周以后,在阅 ...

  2. Asp.Net中使用水晶报表(下)

    Asp.Net中使用水晶报表(下)   使用PUSH模式 我们采用下面的几步使用Push模式执行水晶报表: 1. 设计一个DataSet 2. 创建一个.rpt文件同时将其指定给上一步建立的DataS ...

  3. Asp.Net 中使用 水晶报表(上)

    Asp.Net中使用水晶报表(上) 在我们对VS.Net中的水晶报表(Crystal Reports)进行研究之前,我和我朋友对如何将这个复杂的东东加入我们的Web应用有着非常的好奇心.一周以后,在阅 ...

  4. 用C#代码控制水晶报表中的对象

    在C#代码中调用水晶报表的各个对象:字段对象:FieldObject obj=(FieldObject)oRpt.ReportDefinition.ReportObjects["FieldO ...

  5. 在VS2013中使用水晶报表

    又遇到了在B/S系统中打印,打印格式要求比较高,打印出的效果要求高大上.用VS2013中微软自带的报表,实在难以实现应用的效果,主要问题表现在: 1.不能插入用Word做好的打印模板,自己按照模板来做 ...

  6. 水晶报表中"已达到系统管理员配置的最大报表处理作业数限制"错误的处理

    错误描述:用水晶报表做报表时当多次打开报表后会经常会出现"已达到系统管理员配置的最大报表处理作业数限制. "的错误. 1.自身的问题:用完CrystalDecisions.Crys ...

  7. asp.net core使用水晶报表问题

    背景     最近项目上遇到一个需求,要后台通过定时任务把水晶报表生成pdf文件,然后邮件发送给相关人. 技术实现思路     选用ASP.NET Core框架(基于2.2版本),通过IHostedS ...

  8. asp.net实现通用水晶报表

    此片博文是在你有一定水晶报表基础的前提下参阅的:如果对于水晶报表的基础知识比较薄弱建议先去了解下水晶报表: 因为项目需要,研究了下水晶报表.说实在,这个组件很强大,但是用起来也很麻烦.刚开始使用遇到了 ...

  9. web中的水晶报表 "出现通信错误。将停止打印"

    被这个问题快折腾死,死活都找不到原因,找了一堆解答,无外乎这几种情况,但都不管用 在Page_Init中绑定数据.无效. activex控件的版本,我试过10.2.0.1146等多个版本的dll,10 ...

随机推荐

  1. iOS开发UI调试神器----Reveal

    做iOS的开发,UI是非常非常重要的一环.调试时我们一般用模拟器,提交前用真机做測试.用模拟器来调试UI效果尽管快捷方便,但有时仍然希望有更强大的工具来帮助分析UI,尤其是专注在UI的效果调试时.近期 ...

  2. Codeforces 10A-Power Consumption Calculation(模拟)

    A. Power Consumption Calculation time limit per test 1 second memory limit per test 256 megabytes in ...

  3. 乔治·霍兹(George Hotz):特斯拉、谷歌最可怕的对手!

    17岁破解iPhone,21岁攻陷索尼PS3:现在,他是埃隆·马斯克最可怕的对手.   黑客往事   许多年后,当乔治·霍兹(George Hotz)回首往事,一定会把2007年作为自己传奇人生的起点 ...

  4. 【转】IIS初始化(预加载),解决第一次访问慢,程序池被回收问题

    原地址:http://www.debugrun.com/a/mpyWXwg.html 读在最前面: 1.本文以IIS8,Windows Server 2012R2做为案例 2.IIS8 运行在 Win ...

  5. oracle-常见的执行计划(一)

    一.表访问方式 CBO基础概念中有讲到,访问表的方式有两种:全表扫描和ROWID扫描. 全表扫描的执行计划:TABLE ACCESS FULL ROWID扫描对应执行计划:TABLE ACCESS B ...

  6. Page Layout里的javascript (jquery)不执行

    在page layout 中通过 _spBodyOnLoadFunctionNames.push("js 方法名") 的方式实现. 但切记,代码要放到 PlaceHolderMai ...

  7. proxy in java

    [Static] IFeature.java ImpicateF.java Runport.java StaticProxy.java IFeature.java package UProxy.sta ...

  8. ARC下dealloc过程及.cxx_destruct的探究

    我是前言 这次探索源自于自己一直以来对ARC的一个疑问,在MRC时代,经常写下面的代码: - (void)dealloc { self.array = nil; self.string = nil; ...

  9. SpringCloud学习笔记(19)----Spring Cloud Netflix之服务网关Zuul自定义过滤器

    zuul不仅只是路由,还可以自定义过滤器来实现服务验证. 实现案例:自定义过滤器,检验头部是否带有token,如果token=wangx,则通过校验,若不存在或不为wangx则返回提示token错误. ...

  10. day02变量

    一. 什么是变量? 变量:在程序运行过程中,值会发生变化的量.(与之相对应的,常量就是在程序运行过程中,值不会发生变化的量).无论是变量还是常量,在创建时都会在内存中开辟一块空间,用于保存它的值. 二 ...