




已阅读5页,还剩27页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
使用RDLC报表(一) 1 建立数据源启动VS2005新建一个窗体项目,命名为TestProj在左边的窗体内选择“添加新数据源”或在菜单上操作“添加新数据源”:选择后出现对话窗体,选择“数据库”,进入“下一步”:本数据源以SqlServer2000所提供的Northwind数据库为例,因此在数据库内选择驱动程序为SqlServer,具体操作视所用数据库而定(如果连接为Oracle,建议用Oracle所提供的ODP for .NET,地址:/technology/global/cn/software/tech/windows/odpnet/index.html)。选择数据源后,指定数据库文件,并进行测试,如果连接不通,请检查你的软件设置。进行下一步,至显示出库文件内的表及视图,然后打开表,并选择其中的Employees,选择完成。在数据源窗口中显示出所选择表及表内的字段,以备使用。同时在资源管理器中,也可以看到新增加的数据文件。2 报表浏览器在新建的窗体内,放入报表浏览控件:此报表浏览控件集成了报表查看及打印预览的功能,可直接输出至打印机,也可直接输出至Excel文件或PDF文件,对于喜欢看Excel表格的客户来说,这个报表控件非常不错。关于此报表的来源及台前幕后的各种说法,请自己查询相关的网站。3 建立报表文件选中报表浏览器控件后,在控件的右上角会出现一个小三角,点击后,出现一个菜单,选择“设计新报表”或在解决方案资源管理器中添加一个新的报表文件:双击“报表项”内的“表”,则设计空白表内生成一个表格,我们可以在表格内添加数据项。此报表的设计方式类似于MS以前的VB下报表设计环境。在报表设计器中,我将一份报表分为五个部分,从上至下为:报表标题区、列标题区、数据显示区、合计及页脚。如果将报表的设计形式显示出页眉及页脚,报表的形式会看得更清楚些:选择页眉及页脚:显示结果:现在开始设计报表:在“页眉”区内放入一个文本框,将内容更改为“测试报表”,居中,字体放大加粗:从数据源窗口中选择合适的列,用鼠标拖到报表内的“详细信息”表格上,数据会自动填入:将设计的报表保存后,返回报表浏览窗口,并为报表浏览器选择我们设计的报表:选中报表文件后,菜单也有所改变:再为此报表文件指定数据源,选择数据源:确定,保存文件并运行测试文件。4 预览报表生成后预览如下:是不是很简单?我们也可以对这个简单的报表进行美化,当然,我加上美化的一些功能后,可能效果更差,但此处只是为了演示用法。 为数据加表格。在报表设计器中,选择需要加表格框的区域然后在工具栏中选择边框工具加什么样的框线根据需要,此处我选择“所有框线”。看上去比原来的灰线能稍黑一些,在预览时就能看出来了。 加打印时间显示加入一个显示打印时间的文本框,在上面按右键,选属性:在“文件框属性”内,选择“值”后面的表达式生成:在表达式中选择时间:不要忘记表达式的前面一定要有一个“”,如果没有,手工加上一个。为了更符合我们的习惯,前面可以加个说明,如打印时间等,表达式的写法就要稍做改变:还是以“”开头,后面加上“打印时间:”,再以“”连接生成的Now函数即可得到我们想要的样子。 为行加序号为了演示,我将序号列加在了表格了最后列加入一个新的列:在显示序号的列中输入相关的值:在此表达式的后面是Nothing,不是null,不要搞错。三项功能已经完成,预览:比原来漂亮吗?至少实用了一些。使用RDLC报表(二)-使用自定义数据集 1新建窗体2建立数据源3建立报表新的数据报表已经生成,下面开始对数据源进行设置。4对报表自动生成的数据源进行设置选择工具栏 报表 数据源,选中所要修改的数据源后,用“重命名”对其进行修改,如myds。修改完成后,确定退出此窗口。选中报表设计器内的表格,显示属性。将表格的数据集名称更改为上面修改的名称。如果一个报表文件内只有一个数据源,则表格内的数据值可直接写为“Fields!字段.Value”的格式,如果包含多个数据源,则要对此字段的取值进行指定,如“=(Fields!字段.value,“数据集名称”。5手动生成数据源手动生成的数据集内必须包含报表文件内设计的字段名称,否则会运行出现错误。生成数据集:/报表执行操作/privatevoidbutton1_Click(objectsender,EventArgse)/取得数据集stringconnstring=DataSource=.;InitialCatalog=Northwind;IntegratedSecurity=True;System.Data.SqlClient.SqlConnectionconn1=newSystem.Data.SqlClient.SqlConnection(connstring);System.Data.SqlClient.SqlCommandcommand1=newSystem.Data.SqlClient.SqlCommand(select*fromcustomers,conn1);System.Data.SqlClient.SqlDataAdapterada1=newSystem.Data.SqlClient.SqlDataAdapter(command1);DataSetc_ds=newDataSet();tryconn1.Open();ada1.Fill(c_ds);finallyconn1.Close();command1.Dispose();conn1.Dispose();/为报表浏览器指定报表文件this.reportViewer1.LocalReport.ReportEmbeddedResource=report.Report1.rdlc;/指定数据集,数据集名称后为表,不是DataSet类型的数据集this.reportViewer1.LocalReport.DataSources.Clear();this.reportViewer1.LocalReport.DataSources.Add(newMicrosoft.Reporting.WinForms.ReportDataSource(myds,c_ds.Tables0);/显示报表this.reportViewer1.RefreshReport();运行后的数据显示:posted on 2006-04-21 19:42 龙少爷 阅读(1189) 评论(8) 编辑收藏 引用 网摘 所属分类: RDLC报表使用 使用RDLC报表(三)-向RDLC报表传入参数 在使用报表向客户展示结果数据时,实时的在报表中显示某些特定的数据是必需的,如:显示的部门、打印的日期等。本文只简单的演示向报表内传入一个字符值。如有其它问题,欢迎讨论。1、新建一个工程TestReport,一个Form窗体,放入一个TextBox、一个Button按钮,再放入一个ReportViewer控件。2、在ReportViewer上选择新建一个报表3、在打开的报表设计器中,选择工具栏的“报表”中的“报表参数”,新加一个参数,名称为content,数据类型为string,确定。4、在报表设计器的页面上放入一个文本框,在文本框上按鼠标右键-属性,在“文本框属性”窗口中,选择“常规”选项卡内下部的“值”后面的“编辑表达式”按钮(就是那个Fx),在此窗口内,左下框内选择参数,在右下框将会出现在上一步中设置的参数,双击此参数,在上面的框内将出现所需要的表达式:=Parameters!content.Value。保存此报表。报表默认名称为Report1.rdlc。5、在Form窗体内双击按钮,编写如下代码:this.reportViewer1.LocalReport.ReportEmbeddedResource=TestReport.Report1.rdlc;ReportParameterrp=newReportParameter(content,this.textBox1.Text);this.reportViewer1.LocalReport.SetParameters(newReportParameterrp);this.reportViewer1.RefreshReport();6、运行工程,在文本输入框内输入数据,按下按钮,数据是不是已经传入报表了?posted on 2007-03-06 14:41 龙少爷 阅读(393) 评论(8) 编辑收藏 引用 网摘 所属分类: RDLC报表使用 使用RDLC报表(四)-钻取式报表 本文内以MSServer自带Northwind库文件内的Customers及Orders这两个表为例,建立两个报表文件,在查询得出Customers的表数据后,点击此表内的CustomerID数据,报表将转入至下一个报表,并显示与之相关的Orders的数据,即VS中所谓的钻取式报表。1、打开一个工程,并新建一个From,放入一个Button及一个ReportViewer控件。2、在工程内新建一个数据源,连接到Northwind库文件,显示Customers及Orders这两个表3、新建一个报表文件,并以表格的形式来显示数据,将Customers表内的CustomerID、CompanyName及Address三个字段放入,形成一份有表头及数据的简单报表,并将此报表保存命名为customerReport4、再建一个报表文件,与customerReport相同,也以表格的形式来显示报表,将Orders内的OrderID、CustomerID、ShipName及OrderDate四个字段放入表格内,报表保存为orderReport5、orderReport的数据源根据主报表customerReport的数据来确定数据源的数据,查看表格的数据集名称,我的显示为NorthwindDataSet_Orders,也可以自己另建一个,具体方法见我的RDLC报表(二)6、再打开customerReport报表,将CustomerID设置成为可点击的索引字段,以便转入下一个报表。选择CustomerID字段,按鼠标右键,在”文本框属性“窗口中,选择”导航“选项卡,在下面的”超链接“中选择”跳至报表“,在报表名称中选择”orderReport“,再按下后面的”参数.“按钮,输入一个参数名称,如customerid,参数值选择=Fields!CustomerID.Value。为了与其它数据相区分,可以将此列数据根据自己的习惯改变颜色或加下划线7、在orderReport中,设置一个报表参数,与CurtomerReprot中的名称相同,以接收父表中传入的参数8、新建两个取得数据的方法,一个从Customers中取得数据集,另一个从Orders中取得数据集,且带参数。此两个方法可以自己编写类库来实现,也可以在VS的数据集内添加。为了演示方便,我直接使用了Customers的GetData(),并编写了一个Orders的GetDataByCustomerID(cid)的方法。9、在From的Button中编写如下代码:privatevoidbutton2_Click(objectsender,EventArgse)NorthwindDataSet.CustomersDataTabledt1=newNorthwindDataSetTableAdapters.CustomersTableAdapter().GetData();this.reportViewer1.LocalReport.ReportEmbeddedResource=TestReport.customerReport.rdlc;this.reportViewer1.LocalReport.DataSources.Clear();this.reportViewer1.LocalReport.DataSources.Add(newReportDataSource(NorthwindDataSet_Customers,dt1);this.reportViewer1.RefreshReport();10、使用报表的Drillthrough事件,当选择了钻取项时会发生此事件,给下一个报表取值,代码如下:privatevoidreportViewer1_Drillthrough(objectsender,DrillthroughEventArgse)LocalReportlp=(Local
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 民爆知识安全培训课件
- 初三算术考试卷子及答案
- 保洁四级考试题及答案
- 发展新质生产力的过程误区
- 六一儿童节班级游园活动方案
- 民族表演课件
- 新质生产力激活智慧农业发展
- 民族管弦乐器课件
- 安全生产图片讲解
- 2025年老年医学基础知识综合考试答案及解析
- 2024年纺织行业招聘要点试题及答案
- 苏少版小学美术三年级上册全册教案
- 气道净化护理团体标准解读
- 医疗设备采购项目实施进度计划
- 试油监督培训班
- 实木全屋定制合同协议
- 学校财务培训课件
- 保险权益转让协议书
- 2025版校园食堂日管控、周排查、月调度记录表
- 项目规划表-数字化转型计划
- GB/T 45133-2025气体分析混合气体组成的测定基于单点和两点校准的比较法
评论
0/150
提交评论