带有对象数据源的Visual Studio 2010本地SSRS报告(.rdlc)

时间:2011-04-15 04:11:06

标签: vb.net visual-studio-2010 asp.net-mvc-2 reportviewer rdlc

我在本地处理模式下使用ReportViewer 2005和2008创建了更多项目,而不是我可以依赖的项目。所有Visual Studio 2005或2008 ASP.NET Web表单项目。我总是在报告中使用一些Object数据源。

今晚,我尝试将相同的功能添加到Visual Studio 2010 MVC 2项目中,并且失败了。首先,添加新项>报告>报告现在是2008年RDLC,而不是2005年RDLC报告。其次,在尝试添加DataSet时,我通常使用返回IEnumerables(Of Stuff)的静态方法创建数据代理类的方法将不会显示为DataSources下拉列表中的源

Empty Data Source

第三,我的 only 选项是添加数据库连接。没有“对象数据源”可供选择:

Database connections only

我很难过。就像我提到的那样,使用ReportViewer控件实际呈现报表时,我没有任何问题。我不能做的是弄清楚如何使用Visual Studio 2010在这些新的2008年报告中设置数据源,以便我可以将一个域对象列表泵入ReportViewer并显示报告。

更新

通过更多研究,我发现MVC项目不允许在其中使用对象数据源。我的问题的一个解决方案是在解决方案中创建一个单独的项目 - 一个Web应用程序,一个服务,甚至只是一个类库,以便相应地添加报告并进行设计。

我仍然在寻找替代方案。

6 个答案:

答案 0 :(得分:7)

以下是一些解决方案。第二个更好,因为它不需要不必要地复制你的组件。

解决方案1 ​​(好的)

添加到问题本身并在帖子Visual Studio 2010 Report Viewer - Object Datasource中描述,只需为项目创建一个单独的库并在其中添加rdlc文件。这似乎是MVC Web应用程序项目类型本身的错误,因此任何其他项目类型(如类库)都应该起作用。现在,数据源配置向导应如下所示:

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 :(得分:5)

简短回答:是的,您可以在RDLC 2008中使用对象数据源(这不是直观的)。方法如下:

打开您的RDLC页面(在[设计]视图中)。片刻之后,“数据”选项卡将出现在Visual Studio的顶部。选择“添加新数据源”,选择“对象”,然后选择“下一步”。从那里,您将能够看到可以绑定到的对象列表。从项目中选择您的DTO /业务对象/任何内容,然后点击完成。在Visual Studio左侧的“报表数据”侧栏选项卡中,您将看到添加了对象。复制它生成的数据源名称(它将类似于“MyProject_MyObject”)。

现在在你的控制器中,你可以拉出那个DTO / BusinessObject的IEnumerable并将其作为数据参数和你的数据源名称传递给它(抱歉,没有VB语法):

ReportDataSource reportDataSource =
            new ReportDataSource("MyProject_MyObject", myIEnumerable);

答案 2 :(得分:0)

我不确定你是否看到了我所看到的内容,但是在我看来,具有私有构造函数的类(即使使用公共静态方法返回同一类的列表)也不会显示在清单。

Criteria for object datasources to display in Visual Studio Report New DataSet?

答案 3 :(得分:0)

我遇到了同样的问题,但是然后将报表和实体类移到另一个与WebAplication分开的项目中,当我这样做时,向导显示除DataBase Connection之外的其他选项,所以我将一个Object DataSource添加到C#图书馆。然后我使用this post检索报告定义并嵌入到.aspx中,希望这有帮助!!

答案 4 :(得分:-1)

  

不会显示为DataSources下拉列表中的来源

前几天我遇到了同样的问题。我通过为VS10安装SP1解决了这个问题。 http://www.microsoft.com/download/en/details.aspx?id=23691

答案 5 :(得分:-1)

我遇到了同样的问题,并按照this说明(Zilong Lu回答),一旦我的报告处理程序和全局数据源的选项没有显示,只有连接向导。我右键单击了我的项目并单击了构建。在此之后,我尝试再次添加全局数据源,并且连接向导没有显示,但是全局数据源选项确实显示了。