Solved

Using class as data source for End User Reporting (rdlc)

Posted on 2013-12-05
4
3,462 Views
Last Modified: 2013-12-06
I have developed an application in VB.Net (VS 2008) that contains a number of reports.  Currently these are all set as EmbeddedResource reports, which works fine.

I know I could also set the Reports as external to my application using the ReportPath option too, which got me thinking.

I would like the end user (at least one trained in report writing) to be able to modify or even create these RDLC files.  I assume Visual Studio Report designer is the best tool for this (if there's a better one, please let me know).

That would be fine if the data sources were SQL Tables, but I use classes as Business Objects as my datasources.  That means I create the Business Object programatically as pass it as the data source when using ReportViewer.

I could still do that as the modified RDCL files would still be called from within my application but how can the end user, when using Report Designer, access the Business Object 'schema'?  I know they will need to come back within the application to preview the report with data but is there any way I can export the Data Source from my VB.NET project so the fields/members are available for report design outside of my project?

Hope that makes sense.  Let me know if not.
0
Comment
Question by:WestcountryBusiness
  • 2
  • 2
4 Comments
 
LVL 4

Accepted Solution

by:
ItWorked earned 500 total points
Comment Utility
@WestcountryBusiness,

Using RDLC is cumbersome but when it comes to paying for license it's the only choice from Microsoft.

Crystal Reports are widely used for ERPs and Web applications. You can even have HTML reporting as well but that depends on requirement.

Coming to your technical requirement, Yes you can use your entity classes as Data Soruce for RDLC/Crystal Report data source.

While designing you need to have data soruce which is DataSet (for both).

Add DataSet (.XSD) in your project without Data Adapter(don't take it from SQL query or wizard. Just completely blank DataSet).

Add Columns into your DataTable which is in DataSet. Now you can use this data set for designing your report.

Make sure (DataTable name must be same as your entity list name, Columns name must be same as Properties name).

I have been doing list this.

FYI :This may help ! :-)
0
 
LVL 1

Author Comment

by:WestcountryBusiness
Comment Utility
Thanks, that's helped a lot.  I've got a solution although it varies from this a little.

In Visual Studio I created a new project as a "Reports Application".  When it asked me for a data source, I chose Object.  I could then browse to the exe file that is my compiled application and it picked up all the data sources defined in it.  Really easy, which was a relief.

Happy to award points as it got me going but would like to ask one more question, if poss.  I'd like my end user (OK, it would be a IT literate end user) to create these reports.  No problem, but they don't have Visual Studio and a license cost would be a barrier.

I've tried doing this with the VS Express package, but that doesn't seem to offer the option to create a reports application.  Is that right?

The client has SQL Reporting Services and VS Business Intellegence Development Studio but that creates RDL files.  I know I could convert them, but in the BI studio, I can't specify the object data source.

Do any of the free VS Express packages offer the ability to create a Reports Application?

Thanks
0
 
LVL 4

Expert Comment

by:ItWorked
Comment Utility
I haven't came across such requirement ever. But seems to be pretty difficult
0
 
LVL 1

Author Closing Comment

by:WestcountryBusiness
Comment Utility
I found this.  Not yet tried it but looks like a way to install report builder in Visual Studio Express 2012, which would offer a free tool for creating report definitions.

http://www.vbforums.com/showthread.php?717175-How-to-use-Report-Viewer-with-Visual-Studio-2012-Express

I marked the solution as 'good' because although it wasn't the solution I implemented, it did get me started in the right direction.  Many thanks.
0

Featured Post

IT, Stop Being Called Into Every Meeting

Highfive is so simple that setting up every meeting room takes just minutes and every employee will be able to start or join a call from any room with ease. Never be called into a meeting just to get it started again. This is how video conferencing should work!

Join & Write a Comment

It’s quite interesting for me as I worked with Excel using vb.net for some time. Here are some topics which I know want to share with others whom this might help. First of all if you are working with Excel then you need to Download the Following …
If you need to start windows update installation remotely or as a scheduled task you will find this very helpful.
Sending a Secure fax is easy with eFax Corporate (http://www.enterprise.efax.com). First, Just open a new email message.  In the To field, type your recipient's fax number @efaxsend.com. You can even send a secure international fax — just include t…
This video shows how to remove a single email address from the Outlook 2010 Auto Suggestion memory. NOTE: For Outlook 2016 and 2013 perform the exact same steps. Open a new email: Click the New email button in Outlook. Start typing the address: …

763 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

12 Experts available now in Live!

Get 1:1 Help Now