VS2010动态生成水晶报表

如何在VS2010使用水晶报表组件 VS2010不在像VS2008及以前版本那样支持Crystal Report了,不过SAP公司还是很给劲的,随即发布了CR for2010的免费开放版。虽然如此,但刚上手使用的朋友们可能还是很费周折。下简述使用。 如果只是为了能够在VS2010中运行有报表的程序,则可以简单的将运行程序所需的dll引入项目即可。如果你的机器没有这些组件可以来这下载:点我。一般只需要引用 CrystalDec 阅读详情

废话不说,直接上干货

1,在VS2010.NET中想要使用CrystalReport Viewer 13.0 必须先去SAP官网下载免费的插件:CRforVS_13_0_3.exe。

2,用Visual C#新建一个WinForm,在工具栏--组件--右击“选择项...”在出现的一堆列表中选择

3,在IDE的菜单上方,选择XXX项目--属性--目标框架。可能是从原来的“.NET Framework 4 Client Profile”→“.NET Framework 4”


4,更改项目的app.config内的内容,如下:

<?xml version="1.0"?>
<configuration>
  <startup useLegacyV2RuntimeActivationPolicy="true">
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/>
  </startup>
</configuration>
5,基本工作结束了,接下来是如何动态显示你的水晶报表

水晶报表是一开始就利用Crystal Report 2008绑定XML为数据源做好的模板.rpt,而XML则是需要动态加载的。

重载下窗体的Load函数:

private void crystalReportViewer1_Load(object sender, EventArgs e)
        {
            //获取和设置包含该应用程序的目录的名称 result: X:\xxx\xxx\ (.exe文件所在的目录+"\")
            string dir = System.AppDomain.CurrentDomain.SetupInformation.ApplicationBase;
            string iniFilePath = dir+"CrystalRepoConfig.ini";
            ReadIniFile iniFile = new ReadIniFile(iniFilePath);
            bool isExist = iniFile.ExistINIFile();
            if (!isExist)
            {
                System.Windows.Forms.MessageBox.Show("配置文件路径不正确:" + iniFilePath);
                return;
            }

            bool hasPath = iniFile.ValueExists("CrystalReport", "DatafilePath");
            if (!hasPath)
            {
                System.Windows.Forms.MessageBox.Show("配置文件CrystalRepoConfig.ini中对应样品文件路径不正确");
                return;
            }

            hasPath = iniFile.ValueExists("CrystalReport", "TemplatePath");
            if (!hasPath)
            {
                System.Windows.Forms.MessageBox.Show("配置文件CrystalRepoConfig.ini中对应报表文件路径不正确");
                return;
            }

            string xmlfilePath = iniFile.ReadValue("CrystalReport", "DatafilePath");
            string templatePath = iniFile.ReadValue("CrystalReport", "TemplatePath"); ;

            System.Windows.Forms.MessageBox.Show("报表打开中…请稍等");

            ReportDocument rd = new ReportDocument();
            rd.Load(templatePath);

            DataSet ds = new DataSet();
            ds.ReadXml(xmlfilePath);

            rd.SetDataSource(ds);
            this.crystalReportViewer1.ReportSource = rd;
            this.crystalReportViewer1.RefreshReport();
        }
    }
代码中的核心语句也就最后的7句,新建一个dataset的实例,即XML,传入路径并加载。新建一个水晶报表的实例,即rpt文件,传入路径并加载。最后绑定到Viewer上并显示。

而路径的加载选用了轻便的ini配置文件

 public class ReadIniFile 
    {
        public string FileName; //INI文件名

        //声明读INI文件的API函数
        [DllImport("kernel32")]
        private static extern int GetPrivateProfileString(string section, string key, string def, byte[] retVal, int size, string filePath);
        [DllImport("kernel32")]
        private static extern int GetPrivateProfileString(string section, string key, string def, StringBuilder retVal, int size, string filePath);

        public ReadIniFile(string INIPath)
        {
            FileName = INIPath;
        }

        public string ReadValue(string section, string key)
        {
            StringBuilder strBuffer = new StringBuilder(255);
            int bufLen = GetPrivateProfileString(section, key, "", strBuffer, strBuffer.Capacity, FileName);
            return strBuffer.ToString();
        }

        private void GetStringsFromBuffer(Byte[] Buffer, int bufLen, StringCollection Strings)
        {
            Strings.Clear();
            if (bufLen != 0)
            {
                int start = 0;
                for (int i = 0; i < bufLen; i++)
                {
                    if ((Buffer[i] == 0) && ((i - start) > 0))
                    {
                        String s = Encoding.GetEncoding(0).GetString(Buffer, start, i - start);
                        Strings.Add(s);
                        start = i + 1;
                    }
                }
            }
        }

        //从Ini文件中,将指定的Section名称中的所有Ident添加到列表中
        public void ReadSection(string Section, StringCollection Idents)
        {
            Byte[] Buffer = new Byte[16384];
            //Idents.Clear();

            int bufLen = GetPrivateProfileString(Section, null, null, Buffer, Buffer.GetUpperBound(0),
             FileName);
            //对Section进行解析
            GetStringsFromBuffer(Buffer, bufLen, Idents);
        }

        //检查某个Section下的某个键值是否存在
        public bool ValueExists(string Section, string Ident)
        {
            StringCollection Idents = new StringCollection();
            ReadSection(Section, Idents);
            return Idents.IndexOf(Ident) > -1;
        }
        // 验证文件是否存在
        public bool ExistINIFile()
        {
            return File.Exists(FileName);
        }
    }

利用的是水晶报表的pull模式,但又用xml代替了数据库,达到了轻简,易用的目的。









在WPF中使用水晶报表for vs2010的方法 1、首先下载安装水晶报表for vs 20102、新建wpf项目3、在工具箱新建选项卡“水晶报表for vs2010”,在选择卡下添加水晶报表for vs2010提供的控件(程序集都以SAPBusinessObjects开头),其中包括CrystalReportsViewer控件。4、需要注意的一点是,wpf项目所用的“目标框架”必须改成“.Net Framework4”,默认是".N 阅读详情

相关推荐

VS2010下水晶报表的使用总结-从安装到使用到部署,有图有真相

VS2010下水晶报表的使用总结-从安装到使用到部署,有图有真相。 公司要做一个有关水晶报表的打印,让我自己研究怎么使用,整整折磨我好几天。做了有关winform和Web两种方式的。我的开发环境是VS2010,Vs2010的水晶报表在网上出现的也不多,下面将我做报表的整体过程详细介绍如下: 首先,根据网上的提示下载, 选择和下载一个安装包: 1)SAP Crystal Reports, v

ping0926的专栏 8303

VS2010 Crystal Reports (水晶报表)添加CrystalReportViewer后,页面中不显示报表预览信息

VS2010安装 Crystal Reports (水晶报表)完成后,在页面中添加CrystalReportViewer后,页面中不显示报表预览信息。按F12 ,弹出开发者工具界面,查看里面的错误信息,如果看到报 "Uncaught ReferenceError: bobj is not defined"这个错误。此错误普遍是水晶报表资源文件在项目中找不到路径所造成。以下为解决方法: 1、打开路...

dxd0128的专栏 3225

VS2010中水晶报表的安装和使用

---------------------- ASP.Net+Android+IOS开发、.Net培训、期待与您交流! ---------------------- 水晶报表是干嘛用的?首先,水晶报表肯定是和表单有关系了,举个例子,假如我有一个公司,我要给员工发工资了,我要打印员工的信息和应发的工资给财务处,让他给你的员工发,这打印出来的表单数据,就是水晶报表干的事情,网上有很多报表,使

Adam Bieber 3611

在VS中实现水晶报表的打印

水晶报表的介绍: Crystal Reports(水晶报表)是一款商务智能(BI)软件,主要用于设计及产生报表。水晶报表是业内最专业、功能最强的报表系统,它除了强大的报表功能外。最大的优势是实现了与绝大多数流行开发工具的集成和接口 水晶报表在应用时分两种方法,分别是拉模式、推模式。拉模式:在水晶报表生成时的数据源是从水晶报表文件中的SQL语句从数据库中提取的,在编程时不用重写SQL语句,但要加上登...

weixin_44546452的博客 1683

水晶报表SAP crystal report 13 for VS2010

一款功能强大的报表工具,可直接安装在Visual Studio中,是Microsoft Visual Studio的开发人员版本,使用SAP Crystal Reports Developer,不用离开Microsoft Visual Studio即可获得预算。我们的报告设计软件直接安装到Visual Studio中,有了这个功能齐全的免费软件,您可以节省创建自己的报告和创建交互式报告的时间

VS2010中水晶报表应用,下载和部署

详细讲解了VS2010中水晶报表的应用,下载,部署,以及可能会出现的一些问题。

vs 2010下使用水晶报表Crystal Reports

vs 2010下使用水晶报表Crystal Reports (2013-04-26 10:34:41) vs 2010下使用水晶报表Crystal Reports 的详细步骤 一。所需条件  1. 工作环境  VS 2010(页面和报表文件要在不同文件夹),对VS 2008,VS 2005 也可。  2. 数据库 SQL2000 或者 SQL2008  3. 水晶报表Crys

zhaohongx的专栏 899

FFmpeg音频转AAC/M4A终极指南:从基础到高级参数调优

本文详细介绍了使用FFmpeg将音频转换为AAC/M4A格式的完整指南,从基础安装到高级参数调优。涵盖FDK-AAC编码器的使用、VBR/CBR模式选择、音质控制技巧以及实战案例,帮助用户在不同场景下实现高质量的音频转换。特别适合需要优化音频文件大小与音质平衡的开发者和音频处理专业人士。

rust6ferris的博客 726

Vs2010的水晶报表的运用

Vs2010的水晶报表 下载安装后打开VS2010就可以在左边工具栏中看到CRYSTALREPORTVIEWER,并且可以新建水晶报表了; 不过要注意下面几点: A.运行环境不能为.NET FRAMEWORK 4.0 CLINET PROFILE,要改为.NET FRAMEWORK 4,选中项目右键属性就可以更改了; B.在项目中加一个APP.CONFIG(这是针对WINF

学过印刷包装工程研究过食品科学且会点计算机编程的多功能码农 822

VMware桥接模式实战:用手机热点给Linux虚拟机共享网络(附WiFi适配技巧)

本文详细介绍了在移动办公场景下,如何为VMware中的Linux虚拟机配置桥接模式,以通过手机热点共享网络。文章深入解析了桥接模式在无线环境下的工作原理,提供了从主机端准备、VMware设置到Linux虚拟机内部配置的完整实战步骤,并针对手机热点的特殊性,分享了MTU优化、DNS配置及常见网络问题的诊断与解决方案,帮助用户实现稳定高效的移动虚拟化办公。

2y3u4i5o6p的博客 1196

MediaCreationToolW11:Windows11系统升级与修复利器

在日常使用Windows11系统的过程中,我们可能会遇到一些棘手的问题,比如系统更新时出现异常导致无法成功更新,或者系统本身出现异常需要进行无损修复。此外,当我们的电脑尚未升级到Windows11,而我们又希望进行升级时,一款高效且可靠的工具就显得尤为重要。接下来,MediaCreationToolW11将开始下载Windows11的安装文件,并创建Windows11介质。在“选择你要执行的操作”界面中,选择“ISO文件”。此时,你可以使用你的账户登录系统,并开始使用全新的Windows11系统了。

nntxthml的博客 2408

水晶报表初体验

最近使用VS2010做一个asp.net项目,当中使用到了报表功能。我选择了水晶报表来做,对水晶报表是刚接触,从来还没有用过。下面我这个初学都的使用水晶报表的过程: 一、安装CRforVS2010         1、从官网下载CRforVS2010水晶报表插件          2、直接安装CRforVS2010,如不安装该插件,是不能开发水晶报表的。虽然VS2010新建功能里面有

hsg0123_126的专栏 662

NBU计算机大二下期末

计算机网络 任课老师:JG (放了一学期的他自己的视频和上了一学期网课没什么区别,甚至不如上网课。。。) 考试题型 填空题10*1 判断题10*1 选择题30*1 简答和计算题30(4题) 讨论题20 强烈建议不要再这门课上花太多时间复习,不然有复习了个寂寞的感觉。。。计网是一页开卷的,一页开卷纸不用写太多,第一他不会考太详细;第二反正最后都要被收走。 填空题、判断题基本看懂了英文就能做的差不多;选择题去网上找点英文题多刷一下问题不大;简答题把书上每章根据他上课的内容在开卷纸上抄下就好,今年是解释check

weixin_45816954的博客 710

水晶报表 研究VS2010中的报表

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

diancha7695的博客 181

DeepSeek跨会话协作指南:让AI成为你的「第二大脑」

通过DeepSeek的跨会话协作系统,用户实测工作效率提升63%。

紫夜若涵的博客 1475

OpenClaw进阶实战(二十一):工作流6:跨平台舆情监控与自动响应

摘要: 本文介绍基于OpenClaw构建自动化舆情监控系统,实现多平台数据采集、AI情感分析与智能预警。系统架构包含数据采集(微博/小红书/抖音)、消息队列、情感分析(SnowNLP/大模型API)、分级预警和自动响应模块。通过技能化开发(如微博API采集、小红书模拟登录)实现7×24小时监控,结合情感强度与传播速度分级处理负面舆情,形成"采集-分析-预警-处置"闭环,适用于企业私有化部署。

PeterPan的博客 300

python 水晶报表_VS2010中水晶报表应用及实例

基本分类如下:第一部分:VS2010简介 VS2010是微软的提供的一套完整的开发环境,功能也是相当的大 微软宣布了下一代开发工具和平台的正式名称,分别称为“Visual Studio Team System 2010”和“.NET Framework 4.0”,很显然二者会在2010年发布。VSTS 2010开发代号“Rosario”(阿根廷港市罗萨里奥),将致力于引领下一代平台发展、提高开发人...

weixin_39842611的博客 544

高空抛物监控系统:基于YOLOv8的轨迹追踪与可视化系统

本文详细介绍了一种基于YOLOv8深度学习模型的高空抛物监控系统,该系统能够实时检测并追踪高层建筑抛掷物的运动轨迹。文章包含完整的系统设计思路、算法实现细节、数据集构建方法以及基于PyQt5的可视化界面开发过程。我们提供了完整的Python实现代码,并讨论了系统的性能优化策略和实际部署考量。此外,我们还推荐了几个公开可用的高空抛物数据集,并详细分析了系统的应用前景和技术挑战。

YOLO 446

Crystal Reports in Visual Studio 2010(VS2010中的水晶报表)

VS2010中的水晶报表

Jason Shen's Column 3845

从后端角度浅谈抗辐射设计----三模冗余(TMR)

三模冗余设计(TMR),是最常用的一种容错技术,三个模块采取相同的操作,以多数相同的输出作为表决系统的正确输出,即3取2,因为三个模块是相互独立的,而其中两个模块同时出错的概率是极小的,因此便可保证系统输出的可信度。然而这个设计也会存在面积浪费,功耗的增加,而且由于是冗余的设计,在后续进行综合或者pr的时候会被工具优化,因此需要对模块进行don’t touch设置;通过增值表得到,逻辑关系表达式为:Q=(Q1&Q2)|(Q1&Q3)|(Q2&Q3),通过工艺库的stdcell进行搭建,得到如下电路。

芯冰乐 327

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

水晶报表html,水晶报表教程:手把手教你制作基本报表

水晶报表(Crystal Reports)是一款应用非常广泛的商业智能软件,除了强大的报表功能外,最大的优势是实现了绝大多数流行开发工具的集成和接口。下面这篇教程将手把手教你如何制作一个最基本的水晶报表。水晶报表连接数据源有两种模式,Pull 和 Push 两种,即拉和推。用水晶报表的“数据库专家”直接连接数据库,报表数据会即时显示在报表上就是“拉”模式,即把数据直接从数据库拉到报表上,这样与程序...

weixin_31303743的博客 7706

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

VS.NET2010中水晶报表应用与部署[VS2010]

出处:http://hi.baidu.com/jcserver/blog/item/07dcec139b874bc8f7039e8e.html水晶报表VS2010版IDE安装标准版SAP Crystal Reports, version for Visual Studio 201

Join Hands 2864

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

VS2010中水晶报表的一些情况

VS2010RC版已经发布,正式上市在即。打开里面的水晶报表项目,看到仍是一个空壳子。 不过比较VS2010Beta2,这里面的信息则更加明确了。水晶报表将不再直接内置在VS2010中,而是将单独以一个插件包的形式提供。 但是其提供的网址:http://www36.sap.com/solutions/sapbusinessobjects/sme/reporting-dashboar

阿泰的软件实用主义 3万+

VS.NET2010水晶报表安装部署[VS2010]

水晶报表VS2010版IDE安装标准版SAP Crystal Reports, version for Visual Studio 2010 - Standard: 下载地址: http://downloads.businessobjects.com/akdlm/cr4vs2010/CRforVS_13_0_1.exe   下载安装后打开VS2010就可以在左边工具栏中看到CRYSTA

潘晓宇(panxiaoyu)的专栏 2万+

VS.NET2010水晶报表安装部署

水晶报表VS2010版IDE安装标准版SAP Crystal Reports, version for Visual Studio 2010 - Standard: 下载地址:http://downloads.businessobjects.com/akdlm/cr4vs2010/CRforVS_13_0_1.exe 下载安装后打开VS2010就可以在左边工具栏中看到CRYST...

dianjin3567的博客 191

Vs2010中水晶报表引用及打包

转自:http://yunhaifeiwu.iteye.com/blog/1172283 Vs2010中水晶报表引用 在sap官网中下载支持vs 2010中的水晶报表组件。具体地址: 1)包括了报有DLL的水晶报表文件 url: http://downloads.businessobjects.com/akdlm/cr4vs2010/CRforVS_13_0.exe 2)水

jun471537173的备忘录 6139
上一篇: Win::gVim配置Python编译环境(轻量级
下一篇: 水晶报表中图表形式显示CSV数据
chainyu
博客等级 码龄17年 406粉丝 169原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值