关于vs2010下使用水晶报表了解情况记录如下:

1.首先vs2010不再自带水晶报表控件了,需要下载安装vs2010配套的水晶报表控件:CRforVS_13_0。这个控件安装很简单,基本上都选择默认设置就可以了。

2.安装之后,再在vs2010中添加新项,选中reporting,下面就有CrystalReports的选项了,这个就是水晶报表文件。

3.新建一个CrystalReports文件,vs2010会弹出一个水晶报表模版生成向导,可以根据向导指示,一步一步的生成自己需要的报表文件。这里我选择了标准模式。

4.根据向导的数据库连接提示,我选择了oracle服务器连接,使水晶报表与数据库连接起来,只需要按要求输入服务名,用户和密码,水晶报表模版就会自己连接上oracle。

5.然后选择需要的表或者视图,并选择相应的字段,(我跳过了后面的分组和过滤字段的设置),然后选择报表样式,水晶报表就会为你自动生成一个默认的模版。

你可以在此模版上进一步进行样式的优化调整,包括增加合并,求和等等高级操作。

6.至此,模版制作完成,现在开始写代码。

新建一个webform窗体,并在工具箱中选择报表设计,拖放一个CrystalReportViewer控件到页面上,这个就是水晶报表的web控件,有了它就可以轻松实现很多复杂的功能了。

7.可以根据自己的需求通过控制该控件的属性来控制控件的显示效果。

如:

HasPrintButton="False" //不显示打印功能按钮

HasCrystalLogo="False" //不显示水晶报表logo

HasDrilldownTabs="False" //不显示下载按钮

HasDrillUpButton="False" //不显示上传按钮

HasGotoPageButton="False" //不显示转跳按钮

ToolPanelView="None" //不显示工具栏

HasToggleGroupTreeButton="false" // 不显示水晶报表树按钮。

8.那么如何让这个水晶报表在页面上跑起来呢?下面是相关的代码

首先需要说明的是,水晶报表和众多报表控件一样有pull模式和push模式的区别。所谓的pull模式就是在模版中指定数据源,并通过模版直接取得数据并显示到控件上的模式,也是我正在使用的模式。push模式,是自己在程序中组织数据源,并推送给水晶报表模版,显示在控件上的模式,属于高级应用,更强大更灵活,当然自己也需要写更多的代码。

今天这里主要将简单好用的pull模式。

首先,初始化水晶报表类并装载好需要的模版。

 //找到水晶报表模版,我的水晶报表是放在web系统根目录下的WebReport文件夹中的,
string MasterplateName = "test.rpt";
string reportPath = Server.MapPath(Request.ApplicationPath + "/WebReport/" + MasterplateName);
ReportDocument myReport = new ReportDocument();
myReport.Load(reportPath);

接下来,需要重新为模版的数据库连接指定连接串防止,水晶报表连接不到数据库

//定义水晶报表的数据库连接信息 
ConnectionInfo connectionInfo = new ConnectionInfo();
//取到webconfig中的连接串
string sOracleCon = System.Configuration.ConfigurationManager.AppSettings["connectionString"].TrimEnd(';');
//处理得到数据源,用户和密码
string[] listOracleCon = new string[];
string[] listOracleConTemp1 = sOracleCon.Split(';');
for (int i = ; i < listOracleConTemp1.Length; i++)
{
string[] listOracleConTemp2 = listOracleConTemp1[i].Split('=');
listOracleCon.SetValue(listOracleConTemp2[], i);
}
//数据库名或数据库服务
connectionInfo.DatabaseName = listOracleCon[];
//用户名
connectionInfo.UserID = listOracleCon[];
//用户密码
connectionInfo.Password = listOracleCon[];
//数据库地址,oracle数据库不需要设置
//connectionInfo.ServerName = "localhost";
//将数据库信息传递给报表 
SetDBLogonForReport(connectionInfo, myReport);
private void SetDBLogonForReport(ConnectionInfo connectionInfo, ReportDocument reportDocument)
{
Tables tables = reportDocument.Database.Tables;
foreach (CrystalDecisions.CrystalReports.Engine.Table table in tables)
{
TableLogOnInfo tableLogonInfo = table.LogOnInfo;
tableLogonInfo.ConnectionInfo = connectionInfo;
table.ApplyLogOnInfo(tableLogonInfo);
}
}

最后,将水晶报表对象赋给页面模版

//把模板对象赋给报表前端呈现控件CrystalReportViewer1
CrystalReportViewer.ReportSource = myReport;

完成之后,编译,就可以在页面上看到效果了,非常的方便和快捷。

最后自己再记录一下,push模式,需要自己先通过代码连接数据库,并生成dataset,再传给水晶报表类,并赋给模版。以便后面的自学。

DataSet ds = new DataSet();
ReportDocument myReport = new ReportDocument();
myReport.SetDataSource(ds);
CrystalReportViewer.ReportSource = myReport;

关于vs2010下水晶报表的使用入门的更多相关文章

  1. [转]VS2010中水晶报表安装应用及实例

    基本分类如下:第一部分:VS2010简介VS2010是微软的提供的一套完整的开发环境,功能也是相当的大微软宣布了下一代开发工具和平台的正式名称,分别称为“Visual Studio Team Syst ...

  2. VS2010中水晶报表应用及实例

    原文:VS2010中水晶报表应用及实例 基本分类如下:第一部分:VS2010简介VS2010是微软的提供的一套完整的开发环境,功能也是相当的大微软宣布了下一代开发工具和平台的正式名称,分别称为“Vis ...

  3. Vs2010中水晶报表引用及打包

    原文:Vs2010中水晶报表引用及打包 转自:http://yunhaifeiwu.iteye.com/blog/1172283 Vs2010中水晶报表引用 在sap官网中下载支持vs 2010中的水 ...

  4. (转)VS2010结合水晶报表做条码标签打印功能

    本文转载自:http://blog.sina.com.cn/s/blog_552ca1400100y6dd.html 先来个功能效果图: 大家都知道VS2005和VS2008软件本身是包含水晶报表插件 ...

  5. VS2010与水晶报表V13的打包集成小结

    感谢孟子E章提供的技术咨询. 系统配置: Windows 7 + VS2010 , WinForm + DotNet4 + 水晶报表 这里说的打包集成,指的用VS2010的制作的安装包,在安装的时候可 ...

  6. VS2010中水晶报表插件下载安装方法

    Visual Studio 2010默认不带水晶报表,需要安装一个水晶报表插件,首先下载此插件: http://downloads.businessobjects.com/akdlm/cr4vs201 ...

  7. 【.Net】水晶报表CrystalReport粗浅入门

    VB6代码大概是这样的: crystalreport1.Connect:='dsn=xxx;uid=yyy;pwd=zzz;dsq=aaa'; crystalreport1.DiscardSavedD ...

  8. C#下水晶报表打印自定义纸张

    在VB6中,如果要自定义纸张很方便:  Rpt.PaperSize = crPaperUser  Rpt.SetUserPaperSize lZZG, lZZK 但在C#中却不行了,没有发现 SetU ...

  9. .NET环境下使用水晶报表

    .NET环境下使用水晶报表 听语音 | 浏览:3280 | 更新:2013-12-20 13:36 1 2 3 4 5 6 7 分步阅读 水晶报表(Crystal Reports)-商务智能软件,通常 ...

随机推荐

  1. 2016普及组t3海港

    好的,说说这道题的思路,爆搜队列嘛: 用一个结构体队列存每个人来的时间和他的国籍,用一个vis数组存每个人来的次数,是第一次来sum便加一. 然后从前面第一个人开始扔(原谅我用这个词,因为我找不到更好 ...

  2. nginx的基础应用(续)

    nginx的基础应用(续) 一.简介 上一篇文章我们介绍了nginx的基础应用,其中讲到了nginx作为代理服务器的使用,但是漏了一个重要的,也是使用非常普遍的特性--负载均衡.今天,我们将这段内容补 ...

  3. Music Tags 隐私政策

    隐私政策 本应用尊重并保护所有使用服务用户的个人隐私权.为了给您提供更准确.更有个性化的服务,本应用会按照本隐私权政策的规定使用和披露您的个人信息.但本应用将以高度的勤勉.审慎义务对待这些信息.除本隐 ...

  4. Postgres是如何管理空值的

    创建表test,y字段插入null. test=# create table test(x bigint,y bigint,z text); CREATE TABLE test=# insert in ...

  5. LNMP1.3 一键配置环境,简单方便

    系统需求: CentOS/RHEL/Fedora/Debian/Ubuntu/Raspbian Linux系统 需要3GB以上硬盘剩余空间 需要128MB以上内存(如果为128MB的小内存VPS,Xe ...

  6. iBeacon硬件厂商和产品

    最近项目比较忙,也没有时间写Blog. 这几天因为项目需要采购为数不小的iBeacon,所以花了点时间对市面上主要的iBeacon简单的调研总结了一下. 分享给需要买相关设备进行试验的小伙伴,数据不权 ...

  7. PCA, SVD以及代码示例

    本文是对PCA和SVD学习的整理笔记,为了避免很多重复内容的工作,我会在介绍概念的时候引用其他童鞋的工作和内容,具体来源我会标记在参考资料中. 一.PCA (Principle component a ...

  8. SQL基础教程读书笔记-1

    查询基础 2.2 算数运算符和比较运算符 2.2.1算数运算符 + - * / 需要注意NULL 5 + NULL 10 - NULL 1 * NULL 4 / NULL NULL / 9 NULL ...

  9. Heritrix1.14.4在Eclipse的配置和使用

    转载 1.首先在 Eclipse 中新建 Java 工程 ,工程名自取,以MyHeritrix为例.利用下载的源代码包根据以下步骤来配置这个工程. 2.导入类库 Heritrix 所用到的工具类库都在 ...

  10. html标签对应的英文原文 - 司徒正美

    标签 对应英文 说明 <!--> / 注释 <!DOCTYPE> document type 文档类型 <a> anchor 超链接 <abbr> ab ...