C# 利用ReportViewer生成报表

本文主要是利用微软自带的控件ReportViewer进行报表设计的小例子

涉及知识点:

  • ReportViewer :位于Microsoft.Reporting.WinForms命名空间, 主要用于报表的显示
  • Report:报表,以rdlc结尾的文件,可视化设计报表模板。
  • 报表数据:内置字段,参数,图像,数据集(本报表主要使用参数,和数据集)
  • ReportParameter:使用名称和值实例化新的报表参数
  • ReportDataSource:报表的数据源与DataTable对象联系起来

效果图如下:

相关代码如下:

 1 /// <summary>
 2         /// 设置报表
 3         /// </summary>
 4         private void SetReport()
 5         {
 6             //第一步:清除之前的数据
 7             this.rptView.LocalReport.DataSources.Clear();
 8             //第二步:指定报表路径
 9             this.rptView.LocalReport.ReportPath = "Report2.rdlc";
10             //第三步:构造新的DataTable
11             DataTable dt = new DataTable("DataTable1");
12             dt.Columns.Add("Name");
13             dt.Columns.Add("Score");
14             dt.Columns.Add("Id");
15             dt.Rows.Add(new object[] { "语文", 80, "Y0001" });
16             dt.Rows.Add(new object[] { "数学", 75, "S0001" });
17             dt.Rows.Add(new object[] { "英文", 96, "E0001" });
18             //名称不能写错,和报表中的数据集名称一致
19             ReportDataSource rdsItem = new ReportDataSource("DataSet1", dt);
20             //此处可以有多个数据源
21             this.rptView.LocalReport.DataSources.Add(rdsItem);
22             //第四步:构造参数
23             List<ReportParameter> lstParameter = new List<ReportParameter>() {
24                 new ReportParameter("Title",this.txtTitle.Text),
25                 new ReportParameter("Id",this.txtId.Text),
26                 new ReportParameter("Name",this.txtName.Text),
27                 new ReportParameter("Age",this.txtAge.Text),
28                 new ReportParameter("Sex",this.txtSex.Text),
29                 new ReportParameter("Salary",this.txtSalary.Text),
30                 new ReportParameter("Depart",this.txtDepart.Text)
31             };
32             this.rptView.LocalReport.SetParameters(lstParameter);
33             this.rptView.ZoomMode = ZoomMode.Percent;
34             this.rptView.ZoomPercent = 100;
35             //第五步:刷新报表
36             this.rptView.RefreshReport();
37         }

源码下载链接

时间: 2024-10-14 14:12:27

C# 利用ReportViewer生成报表的相关文章

4、如何利用reportViewer在VS中生成报表

4.如何利用reportViewer在VS中生成报表

利用Shell生成Zabbix监控的数字报表

我们都知道Zabbix是一个非常强大的监控工具,我们公司呢也在用Zabbix监控所有网站的状态. 最近有一个需求,就是我们需要生成一份报告,报告里要包含前一天一整天的时间节点和对应的响应时间,这样的报告用来统计网站的可用性达到了什么水准. ? Zabbix本身自带报告功能,可是都是图像的,并没有数据格式的.虽然没有提供数据格式的报表,但是Zabbix提供了一套API,可以根据需求获取对应的数据(JSON格式),于是我就写了个脚本,用来把每个监控的网址的监控数据输出到一个CSV文件中.(后续可以用

RDLC报表之动态生成报表

首先,必须感谢和致敬蜡人张前辈: http://waxdoll.cnblogs.com/archive/2006/02/25/337713.html 2.微软GotReportViewer官方的案例: http://www.gotreportviewer.com/(约有20来个,很详细.有时候会上不了) ) 前段时间,做了RDLC报表,主要是三块功能: 1.从DataGrid提取数据,然后创建对应的RDLC报表文件,以利用ReportViewer类的打印排版的功能(其中做了个提取数据的通用函数,

[C#]透过ReportViewer将报表另存成文件

[SQL Server]透过ReportViewer将报表另存成文件 以Reporting Service作为系统的报表方案的各位应该都会有需要将报表转成实例档的机会,在面的文章中我们有看到可以直接在Report操作画面上进行报表导出的动作,但这样的动作毕竟需要开启报表档,再按下导出,如果今天我们希望程序执行到一半,可以自动将报表转成文件后导出到Client端,又或者当成Mail的附件直接寄送给主管当成周报表或者月报表的参考数据,岂不方便的多. Reporting Service的报表布署有两种

利用letsencrypte生成证书时,create virtual environment失败

./letsencrypt-auto certonly --standalone 利用letsencrypt生成证书时 ,出现下面错误提示 0 upgraded, 0 newly installed, 0 to remove and 6 not upgraded. Creating virtual environment... Traceback (most recent call last): File "/usr/lib/python3/dist-packages/virtualenv.py

【转】利用xcode生成的app生成可以在iphone和itouch上运行的ipa安装包

转载地址:http://blog.csdn.net/yohunl/article/details/5971252 在编译好的真机版目录下的.app文件,至于生成真机可以运行的app的方法,有两种方式,一种是交99美元获得一个证书,另外一种是破解的方式,在此不再详述,本文假设你已经生成了真机上可以运行的app包了(app包实际上是一个文件夹) 假设此安装包的名称是 hello.app,点击右键,选择 显示包内容,这样就可以打开这个hello.app文件夹了,在此文件夹中有一个info.plist文

(Unity)Unity自定义Debug日志文件,利用VS生成Dll文件并使用Dotfuscated进展混淆,避免被反编译

Unity自定义Debug日志文件,利用VS生成Dll文件并使用Dotfuscated进行混淆,避免被反编译. 1.打开VS,博主所用版本是Visual Studio 2013. 2.新建一个VC项目,选择类库,取名为JefferyChan,具体步骤如下图: 3.因为要调用Unity中的相关文件,所以这里要引入外部文件.首先在Unity的安装文件夹中找到UnityEngine.dll,我的路径是:D:\Program Files (x86)\Unity\Editor\Data\Managed 如

Xcode 利用VVDocumenter 生成注释 通过设置 再生成注释文档

在写代码的时候,如果按照一定的规范在头文件里写上注释的话, 就可以利用Xcode的文档自动输出功能生成一份完整的HTML项目文档. 生成的格式和Apple Developer网站上的API文档几乎是一样的. 我们来看看如何利用Xcode生成项目文档.步骤:1. 在XCode里点击Project,然后点Add Target给项目添加一个TARGET 2. 在添加Target的弹出对话框里,选择Aggregate,点击Next,输入一个你喜欢的名字,点击Finish 3. 你会发现TARGETS下面

android学习笔记——利用BaseAdapter生成40个列表项

RT: main.xml ? 1 2 3 4 5 6 7 8 9 10 11 12 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"               android:orientation="vertical"