VisualStudio 2010本地SSRS报告(.Rdlc)与对象数据源问题怎么解决?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (6)
  • 关注 (0)
  • 查看 (135)

我在本地处理模式下使用ReportViewer 2005和2008创建了更多的项目,超出了我自己的能力。所有VisualStudio 2005或2008 ASP。NET网络表单项目。我总是在报告中使用一些对象数据源。

今晚,我试图在VisualStudio 2010 MVC 2项目中添加相同的功能,结果失败了。首先,AddNewItem>Reporting>Report>Report现在是2008年RDLC,而不是2005年RDLC报告。其次,在尝试添加数据集时,我通常使用的方法是创建一个数据代理类,其中包含返回的静态方法。IEnumerables(Of Stuff)将不会显示为DataSources中的源。

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

我很困惑。就像我提到的那样,我在使用ReportViewer控件生成报告时没有任何问题。我不能做的是弄清楚如何用VisualStudio 2010在这些新开发的2008报表中设置数据源,这样我就可以将域对象的列表插入ReportViewer并显示报告。

提问于
用户回答回答于

解决方案1(好)

补充问题本身并在文章中描述Visual Studio 2010报表查看器-Object Datasource,只需为项目创建一个单独的库,并在那里添加rdlc文件。这似乎是MVC Web应用程序项目类型本身的一个缺陷,因此任何其他项目类型(如类库)都应该工作。数据源配置向导现在应该如下所示:

解决方案2(更好)

只需添加一个.ASPX页面到MVC项目的任何地方,以便欺骗VisualStudio,使其进入正确的设计时库。

只需做以下操作:

  • 关闭所有窗户
  • Clean & Rebuild Solution
  • 将WebForm1.aspx添加到项目中
  • 打开RDLC文件,从下拉列表中选择DataSource:
用户回答回答于
用户回答回答于

右击了一下我的项目并点击了Build。之后,我再次尝试添加全局数据源,连接向导没有出现,但是全局数据源选项显示了。

用户回答回答于

具有私有构造函数的类(即使是使用返回同一个类的列表的公共静态方法),也不会出现在列表中。

用户回答回答于

可以在RDLC 2008中使用对象数据源:

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

所属标签

可能回答问题的人

  • 西风

    renzha.net · 站长 (已认证)

    7 粉丝1 提问9 回答
  • 四无君

    0 粉丝0 提问3 回答
  • o o

    3 粉丝490 提问2 回答
  • Dingda

    Dingda · 站长 (已认证)

    4 粉丝0 提问2 回答

扫码关注云+社区

领取腾讯云代金券