C#之VS自带RDLC报表学习

说到报表,大家肯定会想到和VS结合的比较紧密的是水晶报表了。水晶报表做出来的东西很漂亮。接着可能就是fastreport,它也有十多年的报表经验了,和VS衔接的也不错。还有很多其他的报表工具,这里就不枚举了。说来说去,还是没得微软原生的工具好额,毕竟是自家的东西,自家的东西能和VS做到无缝连接。微软就是强大......

我使用的是VS2010开发工具。开发语言是 C#。

------------------------------------先看看结果

报表是这样设计的:

看看结果:

------------------------------------步骤(中间有些步骤可以交换)

1, 当然是新建一个winform窗体应用程序。

2, 在添加新项中,找到左边模版中的Reporting,在右边找到报表,报表命名随意。

添加报表完成后,界面如下图:

可以在报表的空白处,点击鼠标右键,在弹出的菜单中选择视图->标尺,方便我们更好的设计报表的大小。

注意:通常,RDLC报表,若将其打印到A4的纸上:

报表最大宽度为 (上面的刻度:到16 后面的点)

报表的最大高度为(上面的刻度:到25后面的点)

测试出来的就是这个结果, 最大高度和最大宽度应该就在 这个值附近。

3,添加完报表后,接着就可以向报表中添加控件了。一种方式是在报表空白处,单击鼠标右键,选择 插入,

这时就可以向其中插入控件了;另一种方式是:快捷键(ctrl+Alt+x)打开工具箱,也可以,在工具箱中直接拖控件到报表上。

4,带我们添加好数据后,就可以添加数据源了。

关于添加数据源,我知道的有2中方式。

1,在报表所在的工程下创建一个类,并采用泛型的方式作为报表数据源,这个方法我还不太熟悉,大家可以去官方文档看看,这个是链接

2,新建数据集。这种方法,添加的数据集可以不和报表在同一个工程下,因为在向报表上绑定数据的时候,只需要保证报表与数据集在同一个工程下即可,报表可以在其他工程中设计好后,在以 “添加现有项”的方法添加到报表所在的工程进行数据绑定。

这儿,我可能描述的不太清楚。没关系,自己亲自捣鼓下就明白了。继续往下走,

接着就添加数据源,我这里用第二种方式添加数据源,这里,数据集的名字随意,我还是使用默认的吧:

5,向数据集中添加数据集的格式。

当然,也可以点击上面图中的 “工具箱”

设计好数据集后,我们就可以向报表中添加数据了。对了。 这里在设计数据集中的列的时候,增加新列的快捷键是:ctrl+L。(不分大小写)。

6,添加报表数据。

首先,将窗口切换至 报表窗口:

接着,找到:VS的菜单->视图->报表数据。打开报表数据的快捷方式是:Ctrl+Alt+D(不分大小写)。Vs会弹出报表数据窗口:

然后,选择报表数据窗口的新建->数据集...

(这里,其他的两种方式,我不经常使用,参数我不太会,图像,是添加本地的一张图像)

在弹出的窗口中,做如下操作。

7,点解确定后,在报表数据窗口中就有了我们刚刚添加的数据源了。

接着,我们把数据源中的项拖到 报表上指定的位置即可。

报表的工作算是做完了。

------------------------------------查看报表和向报表中添加数据源。

我这里的做法是动态向报表中添加数据。

1, 回到winform设计窗口,打开工具箱,在  报表分类下找到 名为 ReportViewer的控件,将其添加到winform窗体上,调整好其大小。

2,双击winform窗体  或者  按 F7 。进入到后台代码,添加下列代码:

添加下列的名称空间:

usingMicrosoft.Reporting.WinForms;

再添加下列代码

privatevoidForm1_Load(object sender, EventArgs e)

{

///----指定报表外部数据源

DataTable table =new DataTable();

table.Columns.Add("工具",typeof(string));

table.Columns.Add("语言",typeof(string));

table.Rows.Add("VS2010","C# 4.0");

///---添加数据源

ReportDataSource rds =new ReportDataSource();

rds.Name ="DataSet1";

rds.Value = table;

///---向报表绑定数据源

this.reportViewer1.LocalReport.DataSources.Add(rds);

///---向报表查看器指定显示的报表

this.reportViewer1.LocalReport.ReportPath = @"..\..\Report1.rdlc";

this.reportViewer1.RefreshReport();

}

这里,请注意:

rds.Name = "DataSet1";这里的DataSet1是来自  下图所示的名称。

3,运行程序(Ctrl + F5)看看:

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,362评论 5 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,330评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,247评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,560评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,580评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,569评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,929评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,587评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,840评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,596评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,678评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,366评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,945评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,929评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,165评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 43,271评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,403评论 2 342

推荐阅读更多精彩内容