VS2008(2005) C# 报表(report viewer)使用方法

VS2008(2005) C# 报表(report viewer)使用方法
VS2008(2005) C# 报表(report viewer)使用方法

VS2008(2005) C# 报表(report viewer)使用方法

YuChonggao 2011.11.05 QQ:746049506

1 在VS解决方案资源管理器中,添加数据集

2. 在数据集dstest22 中添加数据表dt22

添加列

3. 添加报表

4. 添加报表内容页眉

5.报表参数

Parameters!RP_Code 为自定义参数“RP_Code”

Globals!ExecutionTime 为全局数据当前系统时间6. 报表中添加表

选择左边数据源,将数据集dstest22的表dt22的字段,拉到右边数据表对应的姓名,分数,班级

Reportviewer_报表

https://www.360docs.net/doc/5d1051933.html,服务器控件使用之Reportviewer 报表 1.Reportviewer 报表 1.1.Reportviewer控件 注:本教程附2个事例: ●演练:在本地处理模式下将数据库数据源与ReportViewer Web 服务器控件一起使用 ●演练:在本地处理模式下将业务对象数据源与ReportViewer Web 服务器控件一起使用 如果您已经对ReportViewer控件基础知识比较了解,可以直接参阅事例。 1.1.1.简介 Microsoft Visual Studio 2005 包括报表设计功能和ReportViewer 控件,使您可以将功能完整的报表添加到自定义应用程序。报表可以包含表格格式数据、聚合数据和多维数据。提供ReportViewer 控件的目的是可以处理和显示应用程序中的报表。控件有两种版本。 ReportViewer Web 服务器控件用于在https://www.360docs.net/doc/5d1051933.html, 项目中驻留报表。ReportViewer Windows 窗体控件用于在Windows 应用程序项目中驻留报表。 这两种版本的控件都可以配置为以本地处理模式或远程处理模式运行。配置为何种处理模式将影响有关报表从设计到部署的所有方面。 ●“本地处理模式”是指ReportViewer 控件在客户端应用程序中处理报表。所有报表都 是使用应用程序提供的数据作为本地过程处理的。若要创建本地处理模式下使用的报表,需要使用Visual Studio 中的报表项目模板。有关详细信息,请参阅将ReportViewer 配置为进行本地处理。 ●“远程处理模式”是指由SQL Server 2005 Reporting Services 报表服务器处理报表。在 远程处理模式下,ReportViewer 控件用作查看器,显示已经在Reporting Services 报 表服务器上发布的预定义报表。从数据检索到报表呈现的所有操作都是在报表服务器上 处理的。若要使用远程处理模式,则必须具有SQL Server 2005 Reporting Services 的 许可副本。有关详细信息,请参阅将ReportViewer 配置为进行远程处理。 若要在应用程序中使用ReportViewer 控件,则必须了解如何将控件添加到项目表单或网页中,如何配置控件来使用本地报表定义或服务器报表,如何更新数据源引用,以及如何在应用程序中测试和部署报表和控件。提供的演练有助于您学习这些关键技能。有关详细信息,请参阅示例和演练。 1.1. 2.将Reportviewer配置为进行本地处理

Visual Studio 2008 水晶报表快速入门

Visual Studio 2008 水晶报表快速入门 医手 先新建一个Web项目: CrystalWebApp 为项目添加新项: CrystalReport1.rpt

在弹出的对话框,选择作为空白报表。用向导当然更方便,但在这里,白手起家或许能更好地理解。 在工具箱选择 Text Object,拖到报表头。写些字,设置字体之类的。在属性选项卡设置它的名字为 txtTitle 以供将来程序访问。 水晶报表对于程序员来说其实跟 Repeater 控件是很相似的。于是需要数据和字段名。在Repeater 控件中你可以很随意地指定要绑定的字段名。在程序还没有真正运行之前,这个字段名可以没有任何表的字段名跟它匹配,也可以没有任何类的属性名跟它匹配。但在水晶报表中,字段名在设计阶段就必须是真实存在的。还能稍感安慰的是,水晶报表一旦设计好之后,就能像 Repeater 控件那样绑定任意类型的对像。而不必是设计时指定字段来源的表或类。所以我们现在要创造些真实存在的字段名…… create table TabTest ( UserID int, UserName nvarchar(50), Age int, Birthday datetime ) 你可以用 Access 或者 Excel 来创造真实存在的字段名,但我这里是使用 SQL Server。 在 "字段资源管理器" 的 "数据库字段" 上按右键,选择 "数据库专家..."。在

弹出的对话框中,创建新连接==>OLE DB (ADO)(Access 或者 Excel 应点 "数据库文件" 前的 "+" 号)。在弹出的对话框,选择 "SQL Native Client" 作为提供程序。 按提示一步步地做,直到连上数据库。选择表 TabTest,把它弄到右边的框中。再点击确定。 折腾了半天就是为了这些字段名。对水晶报表的开发商无语…… 把需要显示的字段拖到 "详细资料"。"页眉" 和 Word 文档中的页眉完全不是一回事。这里的页眉其实就是列名(表头)。那么就顺便改一下列名吧。默认是有下划线的,可以改一下格式。

易语言使用Grid++Report起步教程

易语言使用Grid++Report起步教程 概述: 在本教程中,首先介绍用 Grid++Report 的报表设计器应用程序设计一个简单的清单式报表,我们最后会得到一个与 Grid++Report 例子模板中的‘简单列表.grf’类似的报表模板。接下来我们学习怎样让‘简单列表.grf’例子模板在易语言程序中运行起来。首先实现报表的打印与打印预览功能,通过本部分的学习我们可以得到一个类似本教程附带的‘打印与打印预览报表.e’程序。然后我们学习利用 Grid++report 的查询显示器控件实现报表在窗口中的查询显示,我们会创建一个类似本教程附带的‘在查询显示控件中显示报表.e’程序。通过本教程的学习,你将对 Grid++Report 报表模板设计与在易语言中使用 Grid++Report 有一个初步与直观的了解,开启你用 Grid++Report 在易语言中开发报表的大门,为你更进一步学习奠定了良好的开端。 具备一定的数据库方面的知识对开发报表非常重要,因为报表一般都需要从数据库中取数据,然后由报表工具生成出来,你应该对数据库方面的一些基本概念有所了解,能够写出基本的 SQL 查询语句。如果你具备这些基础知识,你学习用 Grid++Report 在易语言中开发报表会非常容易,如果你觉得这方面有所欠缺,建议你加强这方面的学习。本教程适用于第一次接触 Grid++Report 或对 Grid++Report 在易语言中使用还没有入门的易语言开发者。完成本教程的学习之后,建议你浏览并运行一遍 Grid++Report 自带的全部易语言例子,对 Grid++Report 的功能有所了解。 使用本教程你必须安装易语言的4.0或以上版本。必须安装 Grid++Report 报表组件,可以去 https://www.360docs.net/doc/5d1051933.html,下载最新的 Grid++Report。为了顺利完成本教程,你应该将 Grid++Report 安装在 C:\Program Files\Grid++Report 3 目录下。 教程包括以下内容: ?第一节:创建报表模板 ?第二节:配置 Grid++Report 在易语言中的使用 ?第三节:实现报表打印与打印预览 ?第四节:实现报表在查询显示控件中显示 第一节:创建报表模板 ?创建一个空白的报表模板 1.从 Windows 桌面执行‘开始->程序->Grid++Report 3.6->Grid++Report 报表设计器’启动报表 设计器应用程序。 此时一个空白的报表模板创建在报表设计器应用程序中。 ?定义报表头

ReportViewer控件最简单教程-Xieris

教程题目:使用Report Viewer控件制作报表。 环境:WIN7,VS2012, 代码:https://www.360docs.net/doc/5d1051933.html,。 需要元素(项目右击可添加这些项): Default.aspx Web窗体 Reoport.rdlc 报表 DataSet.xds 数据集文件(报表需要它规定格式) 需要实现效果: 1、能成功简单显示报表 2、使用list集合填充 3、使用DataTable填充 效果如下: 实现步骤: 基础: 1个button,1个report viewer(rv1)控件,直接从工具栏拖至页面即可。 右击项目,添加报表文件(Report.rdlc),双击报表文件,工具栏的控件会变成报表工具。Button事件(点击时显示报表):btn_Click.

代码如下: public void btn_Click(object sender, EventArgs e) { /*先清空原来数据集*/ rv1.LocalReport.DataSources.Clear(); /*设置报表文件*/ rv1.LocalReport.ReportPath = "Report.rdlc"; /*数据集的填充,效果2-3才需要*/ ReportDataSource rds = new ReportDataSource("DataSet1", loadData3()); /*将数据集添加到本地报表,效果2-3才需要*/ rv1.LocalReport.DataSources.Add(rds); /*刷新报表显示*/ rv1.LocalReport.Refresh(); } 加蓝色的代码,实现效果时需要改的,记住。 实现效果1: 打开Report.rdlc文件,从工具栏拖两个文本框,一个内容为hello,一个内容为world。 右击Default.aspx,选择浏览,这时,可以看见:

利用Reportviewer生成RDLC报表

利用ReportViewer生成RDLC报表 报表是应用程序,特别是数据库系统中的重要功能。在Visual Studio 2010中,自带的ReportViewer控件,可以满足常用报表功能的实现,而且使用方便,以下就将介绍利用VS2010中的ReportViewer控件创建RDLC报表,并在winform程序中调用的实例,使用C#语法。 第一步:创建一个Windows应用程序 在Visual Studio 2010中,选择“文件”菜单,新建-“项目”,从已安装模板中选择Visual C#,从中间的项目类型中,选择“Windows窗体应用程序”;在名称栏中,为项目指定名称;在位置栏中,指定想要保存的目录。完成之后,项目中会有一个Form1,以下从对它的窗体设计器开始讲解。 像下面这样修改Form1的属性,当然也可以保留默认属性: Form1.Text = "MS Reporting Services 101 with Smart Client" Form1.Size = 750, 300 第二步:为窗体(Form)添加报表查看器(Report Viewer) 报表查看器,我们可以把它理解为显示和预览报表的容器。它不仅可预览输出报表,还可帮助将报表信息生成各种格式(PDF或Excel等等),当然也包括打印功能。 请按如下步骤在Form1上放置好报表查看器控件: 依次找到工具箱(ToolBox)――报表--报表查看器(ReportViewer),并把它拖到Form1上。这会创建一个名为reportViewer1的新实例。 通过设置reportViewer1.Dock = Fill,报表查看器将会填充窗体的整个区域,以显示报表。 在完成第一步与第二步之后,窗体看起来应该如图1所示: 图1 第三步:为项目添加数据集(DataSet) 数据集是伴随报表查看器而来的,它保存并提供从数据源而来的原始数据,我们便可对这些原始数据进行处理或在C#程序中输出。

reportviewer教程

打开Visual Studio后,选择"文件"—>"新建项目",打开新建项目对话框: 打开新建项目对话框后,在“项目类型”中选“Visual Basic"中的Windows: (也可在“项目类型”中选其它语言中的“Visual C#") 再在模板中选"Windows 应用程序",并在名称中输入名称"ReportViewerTest":

按确定后,显示Form的设计画面: 将工具箱中ReportViewer拖入至Form1中,将Form1适当的调大一点:

这样就在Form1上创建了一个默认名为"ReportViewer1"的控件,这个控件 就是用来浏览报表的控件。 (如果是用C#语言就创建了默认名为"reportViewer1"的控件,是第一个字母的大小写有区别)点击"ReportViewer1",在它的右上角出现了一个小三角形: 点击右上角的小三角形,点选"在父容器中停靠": 出现以下画面:

打开解决方案资源管理器(按Ctrl+Alt+L或在菜单->视图->解决方案资源管理器): 右击这个项目名称"ReportViewerTest",在出来的菜单上选: 添加->新建项,如下图所示:

在添加新项对话框中选"报表",名称就用默认的Report1.rdlc: 再点添加后,出现Report1.rdlc的设计画面:

选择工具箱中报表项下的"表",将"表"拖到Report1.rdlc设计窗体中: 将"表"拖到Report1.rdlc设计窗体中后,会自动生成“table1" 表,如下图: 红框以内就是"table1" 表。 在红框以内是报表的空白区:

VS2010_RDLC自带报表使用手册.

RDLC使用总结 1、为什么要使用RDLC报表(简介) VS .NET开发中,用什么进行报表设计?可能的回答是Crystal Report,当然,必须承认Crystal Report的功能还是非常强大的,被Business Object收购以后,商业的成分也在逐渐增加,也形成了一定规模的用户群。 Visual Studio .NET进入2005版本以后,Crystal Report与IDE的结合更“紧密”了,至少我们看不到那个讨厌的注册窗口了。但是,Microsoft似乎并不容忍在自己的超级工具中竟然没有报表工具,于是Report Viewer Control出现了,我把它的报表称为RDLC报表。 在VS .NET 2005之前,SQL Server Reporting Services中已经提供了一种被称为报表定义语言(Report Definition Language, RDL)的语言;在VS .NET 2005中,Microsoft提供了针对这种报表的设计器,并提供了在WinForm和WebForm中使用这种报表的能力。Microsoft将这种报表的后缀定为RDLC,RDL仍然是Report Definition Language的缩写,那么C代表什么呢?C代表Client-side processing,凸显了它的客户端处理能力。 这种报表的易用性和可定制性让我们完全有理由放弃Crystal Report,让我们来看看它的强大功能吧: 1)简单易用的控件,特别是Table控件,非常方便字段在报表上的排列; 2)灵活的可定制性,用XML来描述一个报表相关的一切,不用说了吧; 3)高度可编程性,在你的项目中,甚至不需要有一个报表文件,通过代码就可以实现报表生成、预览和打印等一系列操作; 4)支持DrillThrough数据钻取功能; 5)导出的Excel文件格式非常完美,而且并不需要安装Excel; 6)数据源处理极其方便,开发人员可以自己接管数据库连接、取数,然后将数据结果赋值给RDLC的数据集即可。 7)展示和数据分离,程序员更是可以编写一个RDLC设计器交有用户使用,这样用户就可以自行设计RDLC报表格式,程序员只负责定制数据接口即可。 RDLC MSDN:https://www.360docs.net/doc/5d1051933.html,/zh-cn/library/ms251671(VS.80).aspx 2、RDLC简单Demo 本文所有RDLC例子都是基于VS2005 C#,所有ReportViewer的处理模式都是Local模式。本报表Demo显示上文中提到的RDLC手册各节内容,下述为Demo的详细steps。 1)新建项目,选择Windows应用程序项目类型,输入工程名称RDLCDev; 2)修改Form1窗体名称为FrmRdlcUserGuide,在工具箱—>数据Tab选项卡中选择ReportViewer控件,将其拖入到FrmRdlcUserGuide,默认命名为reportViewer1,调整ReportViewer控件的大小和布局; 3)在解决方案资源管理器中选择RDLCDev工程,鼠标右击RDLCDev工程,添加新建

RDLC报表详细讲解与分析报告

RDLC报表随笔…… (,感谢网友”蜡人”) (一) VS .NET开发中,用什么做报表? 可能的回答是Crystal Report,自.NET“紧密”集成Crystal Report后,这可能是开发人员比较单一的选择。但是,这种集成似乎并不非常紧密,网络上充斥着关于使用Crystal Report的抱怨,太复杂也许是其最为令人诟病的地方,自定义性比较差也不能为程序员们所容忍。 当然,必须承认Crystal Report的功能还是非常强大的,被Business Ob ject收购以后,商业职能的成分也在逐渐增加,也形成了一定规模的用户群。 Visual Studio .NET进入2005版本以后,Crystal Report与IDE的结合更“紧密”了,至少我们看不到那个讨厌的注册窗口了。但是,Microsoft似乎并不容忍在自己的超级工具中竟然没有报表工具,于是Report Viewer Control出现了,我把它的报表称为RDLC报表。 在VS .NET 2005之前,SQL Server Reporting Services中已经提供了一种被称为报表定义语言(Report Definition Language, RDL)的语言;在VS .NET 2005中,Microsoft提供了针对这种报表的设计器,并提供了在WinForm和WebForm中使用这种报表的能力。Microsoft将这种报表的后缀定为RDLC,RDL仍然是Report Definition Lan guage的缩写,那么C代表什么呢?C代表Client-side processing,凸显了它的客户端处理能力。 这种报表的易用性和可定制性让我们完全有理由放弃Crystal Report,让我们来看看它的强大功能吧: 1、简单易用的控件,特别是Table控件,非常方便字段在报表上的排列; 2、灵活的可定制性,用XML来描述一个报表相关的一切,不用说了吧? 3、高度可编程性,在你的项目中,甚至不需要有一个报表文件,通过代码就可以实现报表

VS2010报表ReportViewer数据的生成

VS2010报表ReportViewer数据的生成-添加程序运行过程中生成表字段与参数 开发环境:vs2010 报表工具:ReportViewer.exe 这个要另外安装 开发说明: 由于在开发、运行过程中,会生成一些汇总统计表,这样的表不一定会以数据库表的形式固定存在,因此,会以运行过程中,用DataSet\DataTable、参数的方式传递给ReportViewer。 关键点: 1、ReportViewer在制作报表时,要生成用户数据,需要添加数据表,在制作过程中,调用该表。但,如果该表是通过参数传递过来,会无法读取该表,因此,需要手工添加一个临时表给它。

2、临时表生成,解决,添加新建项方案中,添加新建项,数据-数据集,工具栏,添加table,再添加键,生成一个可供调用的临时表。 3、VS2010在制作表过程中,菜单会出现在两个地方,一个在主菜单出现,下拉后内容极少,不包括数据参数,一个在【视图】中,打开,在工具栏会出现数据参数等更多内容。

4、有了临时表、参数,就可以布局制作报表了,统计时间是数据参数传递的。

5、统计表的数据传输与参数参数程序 注:传递数据表 Microsoft.Reporting.WinForms.ReportDataSource r = new Microsoft.Reporting.WinForms.ReportDataSource(); https://www.360docs.net/doc/5d1051933.html, = "my_dt"; r.Value = da; 传递的表名称要与设计时的名称一致。

this.reportViewer1.LocalReport.DataSources.Clear(); this.reportViewer1.LocalReport.DataSources.Add(r); 传递参数 ReportParameter p = new ReportParameter("dt", dt); this.reportViewer1.LocalReport.SetParameters(new ReportParameter[] { p }); _ds是通过中间层传输过来。 【参考代码】 private void bt_Sum_Class_Click(object sender, EventArgs e) { string dt = this.dateTimePicker1.Value.ToString("yyyy年MM月dd日") + " -至-" + this.dateTimePicker2.Value.ToString("yyyy年MM月dd日"); this.lb_title.Text = "[" + this.dateTimePicker1.Value.ToString("yyyy-MM-dd") + "]至[" + this.dateTimePicker2.Value.ToString("yyyy-MM-dd") + "]" + this.bt_Sum_Class.Text; DataSet _ds = gl.DecompressGetBytes(gl.BL.Get_Sum_Between_Classified_Zip(this.dateTimePicker1.Value, this.dateTimePicker2.Value)); DataTable da = _ds.Tables[0]; this.dataGridView1.DataSource = _ds.Tables[0]; this.dataGridView1.AutoResizeColumns(DataGridViewAutoSizeColumnsMode.AllCells); for (int i = 1; i <= this.dataGridView1.Columns.Count - 1; i++) {

C#报表控件ReportViewer

C#报表控件ReportViewer rdlc 例(1) 启动VS2005新建一个窗体项目,命名为TestProj 在左边的窗体内选择“添加新数据源”或在菜单上操作“添加新数据源”: 选择后出现对话窗体,选择“数据库”,进入“下一步”:

本数据源以SqlServer2000所提供的Northwind数据库为例,因此在数据库内选择驱动程序为SqlServer,具体操作视所用数据库而定(如果连接为Oracle,建议用Oracle所提供的ODP for .NET,地址: https://www.360docs.net/doc/5d1051933.html,/technology/global/cn/software/tech/windows/odpnet/index.html)。 选择数据源后,指定数据库文件,并进行测试,如果连接不通,请检查你的软件设置。

进行下一步,至显示出库文件内的表及视图,然后打开表,并选择其中的Employees,选择完成。

在数据源窗口中显示出所选择表及表内的字段,以备使用。

同时在资源管理器中,也可以看到新增加的数据文件。 2 报表浏览器 在新建的窗体内,放入报表浏览控件:

此报表浏览控件集成了报表查看及打印预览的功能,可直接输出至打印机,也可直接输出至Excel文件或PDF文件,对于喜欢看Excel表格的客户来说,这个报表控件非常不错。关于此报表的来源及台前幕后的各种说法,请自己查询相关的网站。 3 建立报表文件 选中报表浏览器控件后,在控件的右上角会出现一个小三角,点击后,出现一个菜单,选择“设计新报表”或在解决方案资源管理器中添加一个新的报表文件: 双击“报表项”内的“表”,则设计空白表内生成一个表格,我们可以在表格内添加数据项。 此报表的设计方式类似于MS以前的VB下报表设计环境。在报表设计器中,我将一份报表分为五个部分,从上至下为:报表标题区、列标题区、数据显示区、合计及页脚。如果将报表的设计形式显示出页眉及页

winform水晶报表基础操作从入门到精通

水晶报表基础操作从入门到精通 1、水晶报表注册码 在使用https://www.360docs.net/doc/5d1051933.html,自带的水晶报表时,请注册,否则只能使用30次,水晶报表注册码如下:注册号:6707437608 密码:AAP5GKS0000GDE100DS 2、https://www.360docs.net/doc/5d1051933.html,中使用水晶报表 我们采用下面的几步使用Push模式执行水晶报表: 1)设计一个DataSet 右击“解决方案浏览器”,选择“添加”--“添加新项”-->“数据集”,从“服务器资源管理器”中的“SQL Server”中拖放“Stores”表(位于PUBS数据库中)。再将此表拖入数据集中。而.xsd文件中仅仅包含一个结构图,但是不会有任何数据在里面。 2)创建一个.rpt文件同时将其指定给上一步建立的DataSet。 使用上面的介绍过的方法创建此文件,唯一的不同就是使用数据集来代替前面的直接连接数据。建立.rpt文件之后,右击“详细资料”-->“添加/删除数据库”,在”数据库专家“窗口中,展开”项目数据“(代替以前的OleDb),展开“https://www.360docs.net/doc/5d1051933.html,数据集”--“DataSet1”,选择“Stores”表。将“Stores”表添加到“选定的表”中,点击“OK”。 3)在aspx页面中拖放一个CrystalReportViewer控件同时将其与前面的rpt文件建立联系。使用PULL模式下的方法,建立一个WebForm,添加一个Crystal Report Viewer 控件,并设定其属性,此处与PULL模式下是一致的。代码如下: private MyReport oCR;//MyReport为MyReport.aspx.csk中的类名 private void Page_Load(object sender, System.EventArgs e) { DataSet1 ds = new DataSet1(); oCR = new MyReport(); SqlConnection MyConn = new SqlConnection(ConfigurationSettings.AppSettings["SqlConn"]); MyConn.Open(); //直接访问数据表 //string strSel = "select * from tbtree"; //SqlDataAdapter MyAdapter = new SqlDataAdapter(strSel,MyConn); //MyAdapter.Fill(ds,"tbtree"); //使用存储过程 SqlCommand cmd = new SqlCommand("display", MyConn); https://www.360docs.net/doc/5d1051933.html,mandType = CommandType.StoredProcedure; SqlDataAdapter MyAdapter = new SqlDataAdapter(cmd); MyAdapter.Fill(ds,"tbtree"); oCR.SetDataSource(ds); this.CrystalReportViewer1.ReportSource = oCR; this.CrystalReportViewer1.DataBind();

真正地全动态报表RDLC和ReportViewer

阅读本文需要有XML解析及https://www.360docs.net/doc/5d1051933.html, 相关经验。 本文编译器使用Visual Studio 2005数据库采用XML格式ReportView 版本为https://www.360docs.net/doc/5d1051933.html, 版本为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描述语言不在讨论范围。https://www.360docs.net/doc/5d1051933.html,同样不在讨论范围,感兴趣的读者可以参考这篇文章:《用VC轻松实现https://www.360docs.net/doc/5d1051933.html,》。 2. 如果按照MSDN上介绍的步骤,可以在VB或C#等语言中实现报表显示,但不能用在VC中,因为向导可能产生中文变量,而VC目前还不支持中文变量。请使用VC的读者按照我介绍的步骤来实现。 1.制作报表 新建一个空项目,在解决方案资源管理器中右键点项目名,添加新建项,找到Report,起个名字,点确定。 具体的制作不在这里说了,请参考相关的文章,或者下载我的示例代码,里面有两个做好的报表文件。 2.制作XML数据库文件 https://www.360docs.net/doc/5d1051933.html,连接传统数据库这里就不多说了,参见上面那篇链接文章。 方法1: 安装了SQL Server for XML的话,直接建立数据库模型生成XML文件即可。 方法2: 如果没有安装SQL Server for XML,需要绕个弯子: 1.先使用SQL Server 或其他数据库建立传统的数据库模型。 2.写个临时程序,利用https://www.360docs.net/doc/5d1051933.html,将数据库模型导入DataSet中。 3.利用DataSet::WriteXml("文件名");的方法生成XML数据库文件。 方法3: 同样没有安装SQL Server for XML时: 1.先写一个程序,在DataSet中建立数据库模型,当然编程建立要比方法1中的向导建立麻烦一些。 2.利用DataSet::WriteXml("文件名");的方法生成XML数据库文件。 3.连接数据库 https://www.360docs.net/doc/5d1051933.html,不再多说。 //连接XML文件 DataSet^ DateSet1 = gcnew DataSet(); DataSet1->ReadXml("XML文件");

ReportViewer教程

ReportViewer教程(1)-新建工程,添加Form和报表浏览器打开Visual Studio后,选择"文件"—>"新建项目",打开新建项目对话框: 打开新建项目对话框后,在“项目类型”中选“Visual Basic"中的 Windows: (也可在“项目类型”中选其它语言中的“Visual C#") 按确定后,显示Form的设计画面:

将工具箱中ReportViewer拖入至Form1中,将Form1适当的调大一点: ReportViewer教程(2)-添加空报表Report1.rdlc 这样就在Form1上创建了一个默认名为"ReportViewer1"的控件,这个控件 就是用来浏览报表的控件。 (如果是用C#语言就创建了默认名为"reportViewer1"的控件,是第一个字母的大小写有区别)点击"ReportViewer1",在它的右上角出现了一个小三角形:

点击右上角的小三角形,点选"在父容器中停靠": 出现以下画面: 打开解决方案资源管理器(按Ctrl+Alt+L或在菜单->视图->解决方案资源管理器):

右击这个项目名称"ReportViewerTest",在出来的菜单上选: 添加->新建项,如下图所示: 在添加新项对话框中选"报表",名称就用默认的Report1.rdlc: 再点添加后,出现Report1.rdlc的设计画面:

选择工具箱中报表项下的"表",将"表"拖到Report1.rdlc设计窗体中: 将"表"拖到Report1.rdlc设计窗体中后,会自动生成“table1" 表,如下图: 红框以内就是"table1" 表。

WinForm+VS2005下ReportViewer的自动打印原码

WinForm+VS2005下ReportViewer的自动打印原码 using System; using System.Collections.Generic; using https://www.360docs.net/doc/5d1051933.html,ponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; using ControlLib; using System.Drawing.Printing; using Microsoft.Reporting.WinForms; using System.IO; using System.Drawing.Imaging; namespace ReportLib { public partial class CrystalForm : Form { private string _reportname = ""; private DataSet _datasource = null; private string _autoprint = ""; private IList m_streams; private int m_currentPageIndex; public CrystalForm(string reportname,DataSet datasource,string p1) { _reportname = reportname; _datasource = datasource; _autoprint = p1; InitializeComponent(); } private void CrystalForm_Load(object sender, EventArgs e) { this.reportViewer1.LocalReport.ReportEmbeddedResource = _reportname; this.reportViewer1.LocalReport.DataSources.Clear(); if (_datasource != null) { foreach (DataTable table in _datasource.Tables) { this.reportViewer1.LocalReport.DataSources.Add(new Microsoft.Reporting.WinForms.ReportDataSource(table.TableName, table)); } } this.reportViewer1.RefreshReport(); if(_autoprint=="1") { PPrint(); } } #region报表自打印 public void PPrint() { try { LocalReport report = this.reportViewer1.LocalReport; Export(report); m_currentPageIndex = 0; NBPrint(); if (m_streams != null) { foreach (Stream stream in m_streams) stream.Close(); m_streams = null; } } catch (Exception ex) {

VS2010建立使用水晶报表教程

首先下载安装水晶报表插件 1)SAP Crystal Reports, version for Visual Studio 2010 - 包括了报有DLL的水晶报表文件 2)SAP Crystal Reports, version for Visual Studio 2010 - 水晶报表部署时用到的文件 3)SAP Crystal Reports runtime engine for .NET Framework 4 (32-bit) 只支持32位系统的包 4)SAP Crystal Reports runtime engine for .NET Framework 4 (64-bit) 安装完成之后,用VS2010新建一个web应用程序或者网站项目,之后在项目里面添加一个水晶报表文件

之后新建表格成功 之后在项目里添加一个实体类public class demo { public demo() { }

public demo(string id, string name) { this.id = id; https://www.360docs.net/doc/5d1051933.html, = name; } private string id;//编码 public string Id { get { return id; } set { id = value; } } private string name;//名称 public string Name { get { return name; } set { name = value; } } } 之后打开刚才新建的水晶报表,找到下图所示

点击确定即可,之后按照箭头所示,拖动字段。 之后新建参数字段:

水晶报表教程

水晶报表是一个功能强大的报表工具,现在已经被Microsoft Visual Studio 2005(下文以VS2005简称)集成在一起。喜欢水晶报表的朋友可以方便使用了。我把水晶报表在vs2005的使用方法总结一下,供大家参考。 首先介绍一下我用的软件环境:Microsoft Visual Studio 2005;Microsoft SQL Server 2005 【数据用例】 服务器:SQLEXPRESS 数据库名:Test 数据库表:T 【说明】 水晶报表在应用时分两种方法,分别是拉模式(PULL)、推模式(PUSH)。拉模式:在水晶报表生成时的数据源是从水晶报表文件中的SQL语句从数据库中提取的,在编程时不用重写SQL语句,但要加上登录信息(具体方法,后面介绍)。推模式:在水晶报表生成时的数据源,是用编程时重写水晶报表中SQL 语句而生成的dataset对像。也就是说,推模式是用dataset组装水晶报表。 水晶报表组件介绍。水晶报表在VS2005中有两种组件,在WEB项目是分别是CrystalReportSource,CrystalReportViewer。在FORM项目里是分别是crystalReport,CrystalReportViewer。 CrystalReportSource,crystalReport是水晶报表的数据提供者;CrystalReportViewer是水晶报表的浏览器。另外还要介绍一下水的报表的文件是以rpt为扩展名的文件,该文件可以用VS2005生成。 下面分别介绍具体操作方法: 拉模式(PULL): 在拉模式中如要在水晶报表中的SQL语句加上条件参数时要用{?参数名}方式给出。例:“Select T1, T2, T3 FROM T Where T1=''{?parm}''” parm就是参数名 以下例子中所用到的水晶报表文件中使用的SQL语句是“Select T1, T2, T3 FROM T Where T1=''{?parm}''” parm就是参数名。 【WEB方式下】 using CrystalDecisions.Shared; using CrystalDecisions.CrystalReports.Engine; ///

///功能:拉模式提取水晶报表 ///个人主页:https://www.360docs.net/doc/5d1051933.html,/ /// /// /// protected void Button_pull_Click(object sender, EventArgs e) { // CrystalReport.rpt是水晶报表文件的名称;CrystalReportSource1是从工具箱加到页面上的水晶报表数据源对像。 CrystalReportSource1.ReportDocument.Load(Server.MapPath("Crystal Report.rpt"));

CrystalReportViewer1

申请者姓名:学位点名称:研究方向:申请项目名称: 研究生科研创新项目申请表 所在学校: 桂林电子科技大学 魏延恒 桂林电子科技大学网络优化 下一代overlay 多速率视频组播系统优化研究 广西壮族自治区学位委员会广西壮族自治区教育厅2013年10月21日

职称/职务 性别 姓名年龄最具代表性的成果在课题组中承担的任务 魏延恒男硕士研究生 在读 23 1.以第二作者撰写教材《OMNeT++网络 仿真》(所负责部分15万字) 2.完成论文《A Novel Gossip-based Multirate Overlay Multicast Strategy》(已投稿ICC会议) 3.完成 论文《基于gossip算法的overlay组播 负载均衡机制》拟投稿 新型overlay拓扑结构设 计、OMNeT++仿真模型实现 屈宇清男硕士研究生 在读 23 1. 论文《A New Energy-efficient Transmission Scheme Based Ant Colony Algorithm for Wireless Sensor Networks》(ChinaCom2013已 录用) 2. 申请专利《基于蚁群算法的高能效 无线传感器网络路由方法》(已受 理) 负载均衡算法设计、OMNeT++仿真实现 劳保强男硕士研究生 在读 24 1.参与并完成了基于熔岩地质下的无 线传感器网络设计与实现项目,参与 基于chirp超宽带系统发射机与接收机 的硬件实现项目工作; 2.完成论文《近程微波全息成像的仿 真分析》拟投稿。 算法仿真实现 呼金亮男硕士研究生 在读 26 1.参加国家基金项目一项《多跳无线 网络位置感知与能效优化》,形成论 文《蜂窝网中基于能量感知的内容协 作分发算法》初稿。 2.仔细研读了Dimitri P. Bertersekas撰写的《Nonlinear Programming》一书,对优化算法和优 化理论有一个深刻的理解并将其能熟 练应用于各种优化模型中。 算法设计、仿真实现 黄海琴女硕士研究生 在读 24熟练掌握排队论理论速率分配算法设计 项目概况 项目名称 项目类别 学科专业代 码 研究方向 社会科学项目 自然科学项目 申请经费万元 学科专业名 称 起止年限 是否重点学 科 至 国家级 自治区级 课题组成员简介 下一代overlay 多速率视频组播系统优化研究 2014年1月 2014年12月 3.0 081001通信与信息系统 网络优化

相关主题
相关文档
最新文档