使用.NET Class作为SSRS RDLC的数据源

时间:2014-12-29 20:55:07

标签: .net visual-studio-2010 asp.net-mvc-4 reporting-services rdlc

我在Visual Studio 2010中有一个包含大量类的MVC4应用程序。我尝试使用它们作为报表定义语言客户端(RDLC)文件的DataSource传入。但我无法从数据源设计器中的任何位置访问我的程序集中的类

根据Using a Business Object Data Source with the ReportViewer Web Server Control in Local Processing Mode上的MSDN演练,我应该可以在“数据集属性”页面中执行此操作

  

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

根据How to use an Object data source in report (.rdlc)上的这个Stackoverflow问题,在“数据集属性”页面中,我应该能够像这样创建一个新的数据源:

  

创建新数据源

     
      
  • 选择对象,然后点击下一步。
  •   
  • 浏览解决方案树并选择要绑定的类。
  •   
  • 单击“完成”。
  •   

但这些都不作为选项......

当我创建新数据集时,数据源下没有任何内容显示:

DataSet Properties

当我单击“新建”以创建新数据源时,我只会获得一个强制我连接到数据库的连接向导:

Data Source Configuration Wizard

我可以在哪里添加程序集中的类?

作为一个简单的例子,这里是我在装配体中构建的一个对象的例子,我期望它出现:

Public Class Employee
    Public Property Name As String
    Public Property ID As Integer
End Class

我最终希望以编程方式填充此信息:

Dim lr As New LocalReport
lr.ReportPath = Server.MapPath("~\Reports\Report1.rdlc")
lr.DataSources.Add(New ReportDataSource("Data", New Employee("Kyle",27)))

2 个答案:

答案 0 :(得分:12)

以下是一些解决方案,但我更喜欢第二种解决方案。

解决方案1 ​​(好的)

由于这似乎是MVC Web应用程序项目类型本身的错误,您可以将报告添加到其他项目类型(如类库)。如帖子Visual Studio 2010 Report Viewer - Object Datasource中所述,只需为项目创建一个单独的库并在其中添加rdlc文件。现在,数据源配置向导应如下所示:

data source configuration wizard

解决方案2 (更好)

Can't see or add Website Data Sources in RDLC report in ASP.NET MVC所示,您只需在MVC项目的任何位置添加 aspx 页面,即可让Visual Studio吸引正确的设计时库。

请执行以下操作:

  • 关闭所有窗口
  • 清洁&重建解决方案
  • 将WebForm1.aspx添加到项目
  • 打开RDLC文件并从下拉列表中选择一个DataSource:

    DataSource Dropdown

答案 1 :(得分:1)

从项目**目录的Bin和Obj文件夹中删除所有内容和文件夹,然后重新构建解决方案。
在添加Asp .Net mvc5的Visual Studio 2015中遇到了同样的问题,同时添加了RDLC报告的“ **数据源
”。 从我当前的项目添加数据源时,它运行良好。

但是突然在新报告中,我没有在RDLC报告数据中找到我的项目所需/更新/新类作为数据源

然后,我刚刚从当前项目的Bin和Obj文件夹中删除了所有内容和文件夹,它现在运行良好。