- 1、本文档共5页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
阅读本文需要有 XML解析 及 ADO.net 相关经验。本文编译器使用 Visual Studio 2005 数据库采用XML格式 ReportView 版本为2.0 .net版本为2.0一、水晶报表的缺陷 Crystal Repotrs的功能固然很强大,但是对我们写程序的人来说,是否支持动态生成才是最重要的。如果报表只能静态生成再嵌入到程序中,实在有些没意思。 不巧的是强大的水晶报表这一点做的很不好,我们可以在程序中动态修改数据源,也可以动态修改文本和字段,但是报表的一大特色,数据图表,却只能静态生成。也就是说,假如我设计报表时添加了一个图表,用户希望能在多个字段中选择自己想显示的,动态显示到图表中,水晶报表就做不到。对它来说,我们至多只能在程序中得到一张位图,这样就没有意义了。 这个时候我发现了ReportViewer,它用来显示RDLC语言表述的报表。RDLC最初被用在SQL Server for XML上。它实际上是一个XML文本,这就意味着我们在程序中很容易更改它的构架。ReportViewer是RDLC的浏览器,本身没什么好说的,需要注意的是它的数据源必须是DataTable对象。二、结构模型猛的一看有点复杂呵呵,其实还是挺简单的。数据源 可以是传统数据库,也可以是XML表格Data Adapter 及 Connection 等 用来连接传统的数据库DataSet 用来存储数据,同时可以直接操作XML文件BindingSource 利用DateSet来填充BindingSource,这一步数据中转逻辑上有点多余,但是必不可少ReportDataSource 利用BindingSource来填充ReportDataSource,......-_-!!ReportViewer利用ReportDataSource填充的 数据 及 指定给它的RDLC报表文件 来显示报表三、示例代码请大家注意:1.?这里我呈现给大家的只是如何实现报表,报表本身的制作 及 RDLC描述语言不在讨论范围。ADO.net同样不在讨论范围,感兴趣的读者可以参考这篇文章:《用VC轻松实现 ADO.net》。2. 如果按照MSDN上介绍的步骤,可以在VB或C#等语言中实现报表显示,但不能用在VC中,因为向导可能产生中文变量,而VC目前还不支持中文变量。请使用VC的读者按照我介绍的步骤来实现。1.制作报表 新建一个空项目,在解决方案资源管理器中右键点项目名,添加新建项,找到Report,起个名字,点确定。 具体的制作不在这里说了,请参考相关的文章,或者下载我的示例代码,里面有两个做好的报表文件。 2.制作XML数据库文件 ADO.net连接传统数据库这里就不多说了,参见上面那篇链接文章。 方法1: 安装了SQL Server for XML的话,直接建立数据库模型生成XML文件即可。 方法2: 如果没有安装SQL Server for XML,需要绕个弯子: 1.先使用SQL Server 或 其他数据库建立传统的数据库模型。 2.写个临时程序,利用ADO.net将数据库模型导入DataSet中。 3.利用DataSet::WriteXml(文件名);的方法生成XML数据库文件。 方法3: 同样没有安装SQL Server for XML时: 1.先写一个程序,在DataSet中建立数据库模型,当然编程建立要比方法1中的向导建立麻烦一些。 2.利用DataSet::WriteXml(文件名);的方法生成XML数据库文件。 3.连接数据库 ADO.net不再多说。//连接XML文件 DataSet^ DateSet1 = gcnew DataSet(); DataSet1-ReadXml(XML文件);4.一系列的数据填充BindingSource^ aBindingSource; ReportDataSource^ reportDataSource1; //根据DateSet1设置BindingSource aBindingSource = gcnew BindingSource(); aBindingSource-DataMember = Table1; //注意,表名要同创建报表时用的相同 aBindingSource-DataSource = DataSet1; //根据BindingSource设置ReportDataSource reportDataSource1 = gcnew ReportDataSource(); reportDataSource1-Name = DataSet1_Table1; reportDataSource1-Value = aBindingSource; //根据ReportDataSource设置ReportV
您可能关注的文档
最近下载
- 中国华电集团公司电力安全工作规程(水力机械部分山东审定稿)20121116.doc
- CAAC无人机理论考试题库及答案(2024修订版).docx
- 《通往夏天的隧道 再见的出口》读书笔记思维导图.pptx VIP
- 近五年天津中考英语真题及答案2024.docx VIP
- 附件2:汽车专访.pdf VIP
- 二值的黑白图像(教学设计)-2024-2025学年人教版(2024)小学信息技术四年级全一册.docx VIP
- 小学文言文教学的基本策略.ppt
- 2024年10月自考00908网络营销与策划试题及答案含评分参考.pdf
- 2024年中考模拟试卷语文(北京卷).docx VIP
- 社区全职妈妈赋能项目方案设计.pdf
文档评论(0)