在MVC中使用rdlc格式的报表

前言

 近期,在公司做的项目中做到报表模块需要使用rdlc格式的报表,这个报表需要使用WebForm来加载,但是现在用ASP.NET做项目基本上都是MVC。由于以前没有使用过,因此记录下来,供以后查阅。

 下面做个简单的Demo,使用的工具是VS2012+SQL Server2012。

一、准备数据库

  我创建了一个非常简单的表格,添加了一些数据。结构如图所示:

二、在应用程序中创建RDLC报表

  1. 首先,在应用程序中添加ReportFile文件夹,右击文件夹,添加->新建项->Reporting->报表。

  2.选择左边的"表",直接拖到右边。或者在右边右键->插入->表。结果如下:

3.将鼠标放在表格上,点击图中箭头所示,会出现菜单“创建新数据源”。

4.之后会出现如下界面,点击新建之后,配置好数据源,点击保存。

5.然后点击3中的箭头所示,会将表中的列展示出来,在表格中选择需要显示的列,最终结果如下:

三、在应用程序中创建aspx页面

在应用程序中,创建一个ReportPage的文件夹,添加一个webForm窗体。在页面拖两个控件:

 

简单设置一下ReportViewer,然后在ReportView中间,插入节点“LocalReport”,最终webForm页面如下:

下面来写后台代码,从数据库中获取表格的数据源。

四、在视图中加载WebForm页面

这部分开始我是遇到一个问题,如何在视图里面加载webForm页面?

这里我采用的是iframe,将其src属性指向aspx页面。

视图界面主要代码如下:

五、实现效果

在IE浏览器中,运行出现一个错误:

按照提示,将语句添加至web.config中。再次运行,成功了。

可是,当网站在Chrome浏览器中运行时,没有报错,但是表格没有数据:

这时候,我们只需要在WebForm页面设置ReportViewer控件的“SizeToReportContent”属性设置为“true”即可。

再次浏览,也成功了。

六、结语

本次分享到此结束。如果这篇文章对你有帮助的话,评论或推荐下吧!

项目源码:https://github.com/liuyang-1990/ReportDemo

作者:NaYoung
出处:http://www.cnblogs.com/liuyoung/p/7728773.html
欢迎转载,但任何转载必须保留完整文章,在显要地方显示署名以及原文链接。如您有任何疑问或者授权方面的协商,请给我留言

 

转载于:https://www.cnblogs.com/liuyoung/p/7728773.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
MVC(Model-View-Controller)是一种软件架构模式,而 RDLC(Report Definition Language Client)是微软的一种报表定义语言。在使用 MVC 架构开发应用程序时,可以通过使用 RDLC 报表来生成和显示报表。 要在 MVC 使用 RDLC,首先需要创建一个 ReportViewer 控件,该控件负责在视图显示报表。在控制器,您可以从数据源获取数据并将其填充到报表。然后,您可以将报表传递给视图,并将其显示在 ReportViewer 控件。 以下是使用 RDLCMVC 显示报表的一般步骤: 1. 首先,在视图文件添加 ReportViewer 控件。您可以在视图文件使用 Razor 语法或 HTML 标记添加控件。 2. 在控制器,从数据源获取数据,并将其填充到报表的数据集。您可以使用 ADO.NET、Entity Framework 或其他数据访问技术来检索数据。 3. 创建一个报表对象,并将数据集绑定到报表。可以使用 ReportDataSource 对象将数据集与报表关联起来。 4. 将报表对象传递给视图。您可以使用 ViewBag 或 ViewModel 将报表对象传递给视图。 5. 在视图,将报表对象分配给 ReportViewer 控件的 LocalReport 属性。这样,报表就可以在视图显示了。 6. 最后,在视图文件添加必要的 HTML 和 CSS 代码,以正确布局和样式化报表。 请注意,这只是一个基本的示例,实际情况可能会根据您的具体需求而有所不同。对于更详细的实现步骤和代码示例,您可以参考微软的官方文档或其他教程资源。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值