I\'ve created more projects using ReportViewer 2005 and 2008 in local processing mode than I can count on my hands. All Visual Studio 2005 or 2008 ASP.NET web forms projects
The short answer: Yes you can use object data sources in RDLC 2008 (it's just not intuitive). Here's how:
Open your RDLC page (in [Design] view). After a moment, the "Data" tab will appear at the top of Visual Studio. Select "Add New Data Source", choose "Object", and Next. From there, you will be able to see the list of objects you can bind to. Pick your DTO/Business Object/whatever from your project and hit Finish. In the Report Data sidebar tab on the left side of Visual Studio, you will see your object added. Copy the datasource name it generated (it'll be something like "MyProject_MyObject").
Now in your controller, you can pull an IEnumerable of that DTO/BusinessObject and pass it in as the data parameter and your datasource name like this (sorry, no VB syntax):
ReportDataSource reportDataSource =
new ReportDataSource("MyProject_MyObject", myIEnumerable);
I had the same problem and followed this instructions (Zilong Lu answer), Once I had the Handler for my report and the option for global datasource didn't show up, just the connection wizard. I did a right click on my project and clicked on build. After this I tried to add the global datasource again and the connection wizard didn't show up, but the global datasource option did.
I had the same problem, but then move the report and the entities classes to another project separate from the WebAplication, when I did that, the wizard show another options other than DataBase Connection, so I add an Object DataSource to the C# Library. Then I use this post to retrieve the report definition and embedded to the .aspx, hope this help!!
I'm not sure if you're seeing what I'm seeing, but it looks to me that classes with private constructors (even with public static methods which return lists of the same class), don't show up in the list.
Criteria for object datasources to display in Visual Studio Report New DataSet?
will not show up as sources in the DataSources drop down
I had the same problem some days ago. I solved it by installing SP1 for VS10. http://www.microsoft.com/download/en/details.aspx?id=23691
Here are a couple solutions. Number two is much better as it doesn't require needlessly duplicating your assemblies.
As added to the question itself and described in the post Visual Studio 2010 Report Viewer - Object Datasource, just create a separate library for the project and add the rdlc file there. This appears to be a bug with the MVC Web Application project type itself so any other project type (like a Class Library) should work. The data source configuration wizard should now look like this:
As figured out in Can't see or add Website Data Sources in RDLC report in ASP.NET MVC, you can just add an .aspx page anywhere to the MVC project in order to trick Visual Studio into pulling in the right design time libraries.
Just do the following:
Open up the RDLC file and choose a DataSource from the dropdown: