Crystal Reports第一张报表

新建一个网站项目,
1.   设置数据库
从服务器资源管理器中,数据连接中添加新连接,用Microsoft Access数据库文件作为数据提供程序,连接上Crystal Reports的用例的数据库Xtreme
2.   创建新Crystal Reports报表
在工程项目中添加一个Crystal Reports的报表,名称为CR1.rpt.
3.   添加XML架构文件
在工程中添加一个xml架构文件,因为xml架构文件本身也是一个xml文件,名称为订单.xsd,为了便捷操作,可以选择该文件,在打开方式中选择数据集编辑器.然后选择xtreme库中的订单表,拖放到本xml架构文件中,就会自动生成一个订单的文件,在这里,只用到该表的架构,也就是字段框架的信息,所以自动生成的TableAdapter是没有用处的,可以删掉.
4.   添中字段到字段资源管理器上
打开字段资源管理,右键数据库字段,选择数据库专家,在这里我们用ADO.NET来做数据源,双击创建新连接下的ADO.NET先项,在弹出的ADO.NET面板上,选择文件路径,选择上面创建的订单.xsd,然后添加到数据库字段中,这时我们会看到,在字段资源管理器下多了一个订单,展开订单,会看到所有字段.(xsd文件是为了设计报表时,能利用字段,所以xsd在这时百作为表字段的一个架构文件)
打开建好的CR1.rpt,来开始真正的设计报表,现在要出一个合部订单的详细报表.
在报表设计时,字段资源管理器是一个非常重要的面板,因为大部分数据都是通过这里的实现的,不但有数据库字段,还有一些公式,参数,组名,运行总计,还有特殊的字段.关于字段,在以后的文章中去说.
现在我们在订单中,选择订单地ID,订单金额,订单日期,已发货,已收货款几个字段,分别放入CR1.rpt报表的详细资料节中,系统会自动在页眉处理添加相同的字段,如下图
图1
CR1.rpt中其实就是一个设计报表的环境,如果采用ADO.NET连接数据库,CR1.rpt就能成为报表的架构设计了(数据是采用拉模式实现的),具体的数据,要在页面中去实现.
在aspx页面中,放一个CrystalReportViewer控件,命名为CRV1,在页面的Load事件订阅的方法中写入下列代码:
            string path = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|"xtreme.mdb;Persist Security Info=True";
            string sql = "select * from 订单 ";
            OleDbDataAdapter DA = new OleDbDataAdapter(sql, path);
            DataTable DT = new DataTable();
            DA.Fill(DT);
            Session["dt"] = DT;
            ViewState["d"] = 0;       
            ReportDocument doc = new ReportDocument();
            doc.Load(Server.MapPath(@"CR1.rpt"));
            doc.SetDataSource((DataTable)Session["dt"]);
       CrystalReportViewer1.ReportSource = doc;
这样,就实现了一个简单的界面来预览报表的样式.
报表设计的思路就是用rpt文件来设计报表样式,报表的数据在单独的类中实现.















本文转自桂素伟51CTO博客,原文链接: http://blog.51cto.com/axzxs/149695,如需转载请自行联系原作者



本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/392244.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

leetcode 1128. 等价多米诺骨牌对的数量

给你一个由一些多米诺骨牌组成的列表 dominoes。 如果其中某一张多米诺骨牌可以通过旋转 0 度或 180 度得到另一张多米诺骨牌,我们就认为这两张牌是等价的。 形式上,dominoes[i] [a, b] 和 dominoes[j] [c, d] 等价的前提是 ac 且 bd,或是…

海量数据寻找最频繁的数据_寻找数据科学家的“原因”

海量数据寻找最频繁的数据Start with “Why” - Why do we do the work we do?从“为什么”开始-我们为什么要做我们所做的工作? The question of “Why” is always a big question. Plus, it always makes you look smart in a meeting!“ 为什么 ”的问题始终是…

C语言中局部变量和全局变量 变量的存储类别

C语言中局部变量和全局变量 变量的存储类别(static,extern,auto,register) 局部变量和全局变量在讨论函数的形参变量时曾经提到,形参变量只在被调用期间才分配内存单元,调用结束立即释放。这一点表明形参变量只有在函数内才是有效的,离开该函…

营销 客户旅程模板_我如何在国外找到开发人员的工作:我从营销到技术的旅程...

营销 客户旅程模板by Dimitri Ivashchuk由Dimitri Ivashchuk 我如何在国外找到开发人员的工作:我从营销到技术的旅程 (How I got a developer job abroad: my journey from marketing to tech) In this post, I’ll go into the details of how I, a Ukrainian mar…

keepalive的作用

keepalive的作用是实现高可用,通过VIP虚拟IP的漂移实现高可用.在相同集群内发送组播包,master主通过VRRP协议发送组播包,告诉从主的状态. 一旦主挂了从就选举新的主,实现高可用 LVS专属技能,通过配置文件控制lvs集群节点.对后端真实服务器进行健康检查. 转载于:https://www.cnb…

scrapy.Spider的属性和方法

scrapy.Spider的属性和方法 属性: name:spider的名称,要求唯一 allowed_domains:允许的域名,限制爬虫的范围 start_urls:初始urls custom_settings:个性化设置,会覆盖全局的设置 crawler:抓取器,spider将绑定到它上面 custom_settings:配置实例,包含工程中所有的配置变量 logge…

php时间操作函数总结,基于php常用函数总结(数组,字符串,时间,文件操作)

数组:【重点1】implode(分隔,arr) 把数组值数据按指定字符连接起来例如:$arrarray(1,2,3,4);$strimplode(-,$arr);explode([分隔],arr)按指定规则对一个字符串进行分割,返回值为数组 别名joinarray_merge()合并一个或多个数组array_combine(array keys, …

kaggle比赛数据_表格数据二进制分类:来自5个Kaggle比赛的所有技巧和窍门

kaggle比赛数据This article was originally written by Shahul ES and posted on the Neptune blog.本文最初由 Shahul ES 撰写, 并发布在 Neptune博客上。 In this article, I will discuss some great tips and tricks to improve the performance of your stru…

leetcode 1579. 保证图可完全遍历(并查集)

Alice 和 Bob 共有一个无向图,其中包含 n 个节点和 3 种类型的边: 类型 1:只能由 Alice 遍历。 类型 2:只能由 Bob 遍历。 类型 3:Alice 和 Bob 都可以遍历。 给你一个数组 edges ,其中 edges[i] [typei,…

别把“运气”当“实力”

成功是两分靠努力,八分靠天命–何英圻何英圻先生,大家口中的Steven,是台湾网路创业圈的传奇人物。他先后创办力传(Ubid)与兴奇(Monday)两家公司,最后都以高价出售给北美网路巨人—Ubid在2002年以美金950万卖给eBay,而M…

品牌推广前期要进行哪些针对性的步骤?

企业在品牌推广前需要制订一系列有针对性和连续性的步骤,这些步骤定睛于长期策略,而且要适应目标客户的使用方式和习惯。在企业内部导入品牌VI是前提,外部的宣传则是强调品牌所宣扬的内涵和精神实质,总体来说,这只是一…

php的set 容器,关于STL中set容器的一些总结

1.关于setC STL 之所以得到广泛的赞誉,也被很多人使用,不只是提供了像vector, string, list等方便的容器,更重要的是STL封装了许多复杂的数据结构算法和大量常用数据结构操作。vector封装数组,list封装了链表,map和set…

强化学习应用于组合优化问题_如何将强化学习应用于现实生活中的计划问题

强化学习应用于组合优化问题by Sterling Osborne, PhD Researcher作者:斯特林奥斯本(Sterling Osborne),博士研究员 如何将强化学习应用于现实生活中的计划问题 (How to apply Reinforcement Learning to real life planning problems) Recently, I hav…

导入导出报错

导入导出报错:另:右键--共享:停止共享;可能无效。此时,可以通过修改文件夹的权限,来达到停止共享的目的;转载于:https://www.cnblogs.com/chenjx/p/7107336.html

leetcode 724. 寻找数组的中心索引

给定一个整数类型的数组 nums,请编写一个能够返回数组 “中心索引” 的方法。 我们是这样定义数组 中心索引 的:数组中心索引的左侧所有元素相加的和等于右侧所有元素相加的和。 如果数组不存在中心索引,那么我们应该返回 -1。如果数组有多…

基于mosquitto的MQTT服务器---SSL/TLS 单向认证+双向认证

配置单/双向认证 1.生成证书 使用如下shell 来生成证书: # * Redistributions in binary form must reproduce the above copyright# notice, this list of conditions and the following disclaimer in the# documentation and/or other materials provided wi…

mysql复制的工作原理及主从复制的实现

mysql的复制功能主要有3个步骤主服务器将改变记录到二进制日志中,(这些记录叫做二进制日志事件)从服务器将主服务器的二进制日志事件拷贝到它的中继日志中从服务器重做中继日志中的事件。该过程的第一部分就是主服务器记录二进制日志&#xf…

33条C#、.Net经典面试题目及答案

1, 请你说说.NET中类和结构的区别? 答:结构和类具有大体的语法,但是结构受到的限制比类要多。结构不能申明有默认的构造函数,为结构的副本是又编译器创建和销毁的,所以不需要默认的构造函数和析构函数。结构是值类型&…

pb 放弃数据窗口所做修改_为什么我放弃在线数据课程进行基于项目的学习

pb 放弃数据窗口所做修改by Josh Temple通过乔什坦普尔 为什么我放弃在线数据课程进行基于项目的学习 (Why I abandoned online data courses for project-based learning) 如何通过处理有趣的项目来发展基本数据技能 (How to develop essential data skills by tackling inte…

数字滤波器的matlab 与fpga实现,1 数字滤波器的MATLAB与FPGA实现——杜勇(配套光盘) 程序源码 - 下载 - 搜珍网...

压缩包 : f3d09239c2bf5ce6f06578c866ff06.rar 列表Chapter_3/E3_1/incremental_db/compiled_partitions/SymbExam.db_infoChapter_3/E3_1/incremental_db/READMEChapter_3/E3_1/simulation/modelsim/modelsim.iniChapter_3/E3_1/simulation/modelsim/msim_transcriptChapter_3…