解决方法:选择“菜单”->“报表数据”,如下图所示

即可恢复rdlc报表设计页面的报表数据选项卡的呈现

为RDLC报表绑定数据源并设计好报表后,数据源的字段可能需要做调整,调整方法如下(VS2010为例):

1.切换到rdlc报表设计页面,选择视图-报表数据。

? 如果你当前所在页是aspx或者其他类型的页面,视图中是看不到此选项的。

? 如果你的报表数据窗口已经打开,那么视图中也是看不到此选项的。

2.在报表数据窗口,右键选中数据集,点击刷新,那么你在该数据集中新加和改动的字段就能看到了。

3.如果想再添加一个数据源,右键数据集,点“添加数据源”,按照提示操作即可。

?RDLC报表初学,记录学习历程。

转载于:https://www.sxzhongrui.com/hiflora/archive/2012/04/05/2433221.html

? ? ? 最近一直在忙报表, 难得今天有空,把最近捣鼓的东西总结下。

? ? ? 之前也是不知道怎么弄这个报表, 从来没接触过。虽然知道可以用VS原生的报表工具来做,但是,官方给出的文档还是少的可怜,网上的很多文章大多是关于 ?web?做报表的,很少能找到关于使用RDLC在winform中做报表的。谷歌 + 必应+ 百度,依然能找到关于winform做报表的还是很少。

? ? ? ?说到报表,大家肯定会想到和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 。进入到后台代码,添加下列代码:

? ? ? ?添加下列的名称空间:

[csharp]

view plain

copy

print

?

using?Microsoft.Reporting.WinForms;??

using Microsoft.Reporting.WinForms;? ? ? ?再添加下列代码

[csharp]

view plain

copy

print

?

private?void?Form1_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();??????????????www.sxzhongrui.com?=?”DataSet1”;??????????????rds.Value?=?table;??????????????///—向报表绑定数据源??????????????this.reportViewer1.LocalReport.DataSources.Add(rds);??????????????///—向报表查看器指定显示的报表??????????????www.sxzhongrui.comPath?=?@“..\..\Report1.rdlc”;??????????????this.reportViewer1.RefreshReport();??????????}??

private void Form1_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();

www.sxzhongrui.com = "DataSet1";

rds.Value = table;

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

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

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

www.sxzhongrui.comPath = @"..\..\Report1.rdlc";

this.reportViewer1.RefreshReport();

}

? ? ? ? ?这里,请注意:?www.sxzhongrui.com = “DataSet1”;? 这里的DataSet1是来自 ?下图所示的名称。

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