在ASP.Net项目中使用带有ReportViewer的自定义对象

时间:2013-12-02 02:23:56

标签: asp.net asp.net-mvc reportviewer

我想按照这里的说明操作: http://msdn.microsoft.com/en-us/library/ms251692(v=vs.110).aspx

但是,我的项目是一个MVC项目,因此我无法完全按照这些步骤进行操作。

我正在尝试使用自定义对象向本地ReportViewer报表提供数据。我正在将服务器端报告转换为本地(rdl => rdlc)。报表查看器控件已经可以使用服务器报表。

在“数据集属性”页面的“数据源”框中,选择“全局”。

当我尝试添加数据集时,会出现一个对话框,要求我选择数据连接。如果我取消了,我在数据集属性页面,但数据源下拉列表是空的。使用报告向导基本上沿着相同的路径。

我创建了一个新的WPF项目,看看我是否遇到了同样的问题,并且它很容易实现。它立即给了我数据库,对象,服务和sharepoint的数据源选择。我意识到两个控件(web和windows)是完全独立的。

我错过了什么?甚至可以在MVC项目中使用ReportViewer(也有aspx页面)并使用自定义对象来提供数据吗?

2 个答案:

答案 0 :(得分:3)

无论出于何种原因,通过将rdlc文件移出Web项目并进入类库,我能够按预期工作。

答案 1 :(得分:-1)

在本地模式下使用reportviewer控件时,必须通过代码手动获取数据,而不是使用报表设计器。之后,将其作为ReportDataSource对象传递给ReportViewer。它们具有DataTable属性,这些属性实际上是数据。您可以从db获取数据表,因此这非常简单。

This文章解释了如何实现这一目标。