`
lovnet
  • 浏览: 6882908 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
文章分类
社区版块
存档分类
最新评论

在VS.NET2005中使用免费报表(电脑报2006/09/11 第36期)

阅读更多

我们知道,在VS.NET2003下提供了Crystal Report报表,它功能强大,但是它是要收费的。现在,在VS.NET2005中我们有了另外一个选择,而且它是完全免费使用的,那就是RDLC报表。下面,就让我们一起来享受这份免费的大餐吧。

[一、认识RDLC报表]

RDLC的英文全称是Report Definition Language Client-side processingClient-side processing强调了它的客户端处理能力。RDLC报表基于报表定义 ,它是一个说明数据和布局的XML文件,使用报表定义语言编写。VS.NET2005提供了设计和使用这种报表的能力,Microsoft将这种报表的后缀定为RDLC

相对于Crystal Report,它的功能并不逊色:

  • WinFormWebForm中都可以使用;
  • 丰富的控件可以满足各种报表样式的需要;
  • 强大的数据处理能力,在报表中就可以对数据进行分组、排序、筛选;
  • 使用方便。不需要安装额外的软件,通过控件就可以轻松的实现导出ExcelPDF
  • XML描述报表,使通用成为可能;

[二、活用RDLC报表]

下面,我们通过一个实例来介绍如何在WinForm中使用RDLC报表中控件来实现多层报表样式。希望能帮大家达到活用的目的。

1。定义数据源

首先创建一个Visual C#“Windows应用程序项目(ReportTest),然后选择菜单数据”—“添加新数据源。在打开的数据源配置向导中选择数据库,单击下一步。在选择你的数据连接页中,笔者选择的是SQL server 2000下的Northwind数据库,单击下一步。然后在选择数据库对象页中,选择表“Orders”,最后单击完成按钮,添加的数据源如图1所示。


2
。添加报表

选择菜单 添加新项,打开添加新项对话框。选择报表图标,输入名称,单击添加按钮,将打开报表设计器。在工具箱中双击控件,将数据源窗口中的OrderID字段拖至表的详细信息行的第一列,可以看到详细信息单元格显示的是字段表达式“=Fields!OrderID.Value”,并且表头行自动放置了标题,默认是字段名。依次在其他单元格放上相应字段,结果如图2所示。


3
。设置字段格式

右键单击包含 OrderDate 字段表达式的单元,在弹出菜单中选择属性 格式选项卡单击格式代码后的第2个按钮,打开选择格式对话框。为OrderDate 字段选择合适的格式(如图3),单击确定即可。


4
。添加分组

组可以用来显示递归层次结构,比如显示每个客户(Customer)对应的订单(Order)。

单击选中表,在详细信息行最左边单击右键,在弹出菜单中选择插入组 常规选项卡上的分组方式框中,在第一行选择“=Fields!CustomerID.Value”,如图4所示,这将按照CustomerID对数据进行分组。最后单击确定 表中将添加组头和组尾两个新行。



5
。设置详细信息排序方式

单击选中表,在表的左上角单击右键,在弹出菜单中选择属性,打开表属性对话框。排序选项卡上的排序方式框中,在第一行选择 “=Fields!OrderDate.Value”,在第二行选择 “=Fields!OrderID.Value”,排序方式设为先按日期降序排列,然后再按订单号升序排列,如图5所示。

在上面分组属性对话框中同样可以设置组的排序方式。


6
。添加公式

为了计算每个Customer的订单数。右键单击组尾的第一个单元格,在弹出菜单中选择表达式,在编辑表达式对话框的上部书写表达式=Count(Fields!OrderID.Value)。如果不太清楚公式的含义,可以在下方的类别树中选择,说明窗口会有相应的提示,如图6所示


7
。显示报表

VS.NET2005提供了一个专门的ReportViewer控件用来显示RDLC报表。在Form1上添加一个button控件和一个ReportViewer控件。在button控件的Click事件中编写如下代码:

private void button1_Click(object sender, EventArgs e)

{

//设置数据源

reportViewer1.LocalReport.DataSources.Add(new ReportDataSource("NorthwindDataSet_Orders", LoadData()));

//设置报表

reportViewer1.LocalReport.ReportEmbeddedResource = "ReportTest.Report1.rdlc";

this.reportViewer1.RefreshReport();

}

这里没有使用最开始绑定的数据源,而是用LoadData函数设置数据,这样的好处是如果修改了数据源,比如从Access转到SQL server,报表不需要做任何修改,但必须保证数据源架构相同。代码如下:

private DataTable LoadData()

{

SqlConnection con = new SqlConnection("Data Source=servername;Initial Catalog=Northwind;Integrated Security=True");

SqlCommand cmd = new SqlCommand("select * from orders where orderdate>='1998/01/01' order by customerid", con);

SqlDataAdapter adp = new SqlDataAdapter(cmd);

DataSet ds = new DataSet();

adp.Fill(ds);

return ds.Tables[0];

}

因为报表的生成操作属性默认是嵌入的资源,所以需要设置ReportEmbeddedResource属性,如果是使用外部文件,代码如下:

reportViewer1.LocalReport.ReportPath = "Report1.rdlc";

最后的效果如图7所示,怎么样,效果不错吧?


(刊登于 电脑报2006/09/11 第36期)

分享到:
评论

相关推荐

    asp.net动态水晶报表实现代码

    在ASP.NET开发中,水晶报表(Crystal Reports)是一款强大的报表设计工具,广泛应用于企业级应用系统,用于生成各种复杂的报表。动态水晶报表是指在运行时根据用户需求或数据源变化生成的报表,提供了灵活的数据展示...

    易表.net免费个人版电脑报2006合订本原版安装程序

    易表.net个人免费版是电脑报跟易表合作推出的产品,这是本人用软碟通从电脑报合订本2006的光盘镜像中提取出来的原版安装程序,并非网上流传的电脑报版易表主程序,个人版有限制限500行,列数无限制,满足个人学习...

    电脑报2018年专版 - 第24期至第51期

    电脑报第24期、电脑报第25期、电脑报第26期、电脑报第27期、电脑报第28期、电脑报第29期、电脑报第30期、电脑报第31期、电脑报第32期、电脑报第33期、电脑报第34期、电脑报第35期、电脑报第36期、电脑报第37期、电脑...

    <电脑报> 2013年第8期 pdf

    《电脑报》2013年第8期,电子版。格式为pdf。1-7下载地址 2013年第1期http://download.csdn.net/detail/puma1349/5099399 2013年第2期http://download.csdn.net/detail/puma1349/5099234 2013年第3期...

    .NET中添加Redis

    在.NET项目中使用Redis,首先需要安装一个合适的客户端库。StackExchange.Redis是广泛使用的.NET Redis客户端,提供丰富的API接口。可以通过NuGet包管理器或者.NET CLI工具安装,命令如下: ``` dotnet add ...

    EFcore连接本地Mysql数据库使用ASP.NET.CORE.API

    博客链接:https://blog.csdn.net/EAyayaya/article/details/124048491 博客链接:https://blog.csdn.net/EAyayaya/article/details/124048491 博客链接:https://blog.csdn.net/EAyayaya/article/details/124048491...

    ASP.NET MVC 多用户仓库管理系统源码/WMS/C#源码/云仓库管理系统

    这是一款基于ASP.NET MVC + Bootstrap的仓库管理系统。 新增了多仓库,多企业,采购销售,以及财务部分模块。 便于二次开发,可以快速应对一部分中小型客户需求。 主要功能模块 系统设置 (1)员工管理; (2)角色管理; ...

    《电脑报》2013年期刊汇总(持续更新)

    资源名称:《电脑报》2013年期刊汇总(持续更新)资源目录:【】《电脑报》(2013年第14期 4月15日出版)【】电脑报 13年第35期【】电脑报 13年第36期【】电脑报 2013年37期【】电脑报 2013年第10期3月18日出版 绝对...

    <电脑爱好者> 2013年第5期 pdf

    《电脑爱好者》2013年第5期,电子版,格式为pdf《电脑报》2013年第1期 http://download.csdn.net/detail/puma1349/50993992013年第2期http://download.csdn.net/detail/puma1349/50992342013年第3期...

    .net 工业控件 .net 工业控件

    开发者可以通过引用这个库,在自己的应用程序中使用其中定义的控件和方法。DLL(动态链接库)是一种共享代码的方式,可以减少内存占用,便于代码的复用和更新。 4. **TestApp.exe**: 这是一个可执行文件,可能是...

    46个ASP.NET学习大全(包括水晶报表、验证码、水印、MVC、Web服务)

    在ASP.NET中,可以使用图像处理库(如System.Drawing)来创建动态水印,或者通过CSS、JavaScript等前端技术实现静态水印效果。水印可以是文字、图形或透明度调整的图像,能够增加网站内容的原创性和安全性。 4. **...

    电脑报2019年第36期.pdf

    【标题】:"电脑报2019年第36期.pdf",【描述】:"电脑报2019年第36期PDF高清版免费下载,需要更多电脑类杂志请关注",【标签】:"电脑报",【部分内容】: 似乎是一串随机字符,可能是OCR扫描错误或未经过编辑的文字。...

    .NET加密数据报完整实例源码

    在.NET框架中,加密数据是保护信息安全的重要手段。C#作为.NET平台的主要编程语言,提供了丰富的加密库和类,使得开发者能够轻松实现数据的加密和解密。本实例源码着重于.NET环境下如何使用C#进行数据报的加密操作,...

    GPS车辆定位,跟踪系统C#,VS.NET源码

    【GPS车辆定位,跟踪系统C#,VS.NET源码】是一个基于C#编程语言和Visual Studio.NET开发环境的软件项目,旨在实现对车辆的实时定位和跟踪功能。这个系统利用全球定位系统(GPS)技术,结合现代通信网络,为监控和...

    水晶报表示例大(.net 2.0)

    Asp.net2.0水晶报表(CrystalReports)事例源码大全(C#) &lt;br&gt;这些例子实现了水晶报表的查看、柱状图显示、打印、导出、缩放等基本功能,如果想了解更多比如说利用DataSet方式、Push、Pull等模式需要自己更深一步的...

    水晶报表的使用,数据库+示例

    在C#项目中使用水晶报表,首先需要添加Crystal Reports的引用,这可以通过VS2005的"添加引用"功能实现。添加后,可以在解决方案资源管理器中右键新建一个报表文件,然后就可以在设计视图中布局报表了。 三、数据库...

    VB.NET多线程控件的使用

    BackgroundWorker 组件是 VS2005 和 VS2008 中添加的一个多线程编程控件,该控件使用起来非常方便,然而在开始时由于没有搞清楚它的使用机制,走了不少的弯路。下面是 BackgroundWorker 类中主要用到的属性、方法和...

    电脑报2005 完全可以正常使用的电脑报2005电子版。

    大名鼎鼎的电脑报的出口,完全可以正常使用的电脑报2005电子版。

    研华 ADAM 模块工具 AdamApax.NET Utility 解压版

    1. 设备配置:用户可以使用 AdamApax.NET Utility 配置 ADAM 或 Apax 模块的参数,如输入/输出设置、通讯协议、报警阈值等,以满足不同应用场景的需求。 2. 数据读写:通过该工具,用户能够实时读取模块采集的数据...

    电脑报 2019年第11期.pdf

    电脑报 2019年第11期

Global site tag (gtag.js) - Google Analytics