繁体   English   中英

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

[英]Visual Studio 2010 Local SSRS Report (.rdlc) with Object Data Source

我在本地处理模式下使用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下拉列表中的源

空数据源

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

仅限数据库连接

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

UPDATE

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

我还在这里寻找替代品。

这里有几个解决方案。 第二个更好,因为它不需要不必要地复制你的程序集。

解决方案1 (好的)

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

数据源配置向导

解决方案2 (更好)

在ASP.NET MVC中的RDLC报告中看不到或添加网站数据源 ,您可以在MVC项目的任何位置添加.aspx页面,以欺骗Visual Studio引入正确的设计时库。

只需执行以下操作:

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

    DataSource下拉列表

简短的回答:是的,你可以在RDLC 2008中使用对象数据源(它只是不直观)。 这是如何做:

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

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

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

我有同样的问题,但随后将报表和实体类移动到与WebAplication分开的另一个项目,当我这样做时,向导显示除DataBase Connection之外的其他选项,因此我将一个Object DataSource添加到C#Library。 然后我用这篇文章检索报告定义并嵌入到.aspx中,希望对此有所帮助!!

我遇到了同样的问题并遵循了这些说明(Zilong Lu回答),一旦我为报告提供了Handler并且没有显示全局数据源的选项,只需要连接向导。 我右键单击了我的项目并单击了构建。 在此之后我尝试再次添加全局数据源并且连接向导没有显示,但是全局数据源选项确实如此。

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

要在Visual Studio Report New DataSet中显示的对象数据源的标准?

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM