Learn how to a build a cloud-first strategyRegister Now

x
?
Solved

How does Microsoft reporting work

Posted on 2009-05-04
12
Medium Priority
?
504 Views
Last Modified: 2013-11-07
Hi Experts,

I'm writing a VB.Net 2005 application.  .Net Framework 2.

I would like to incorporate a few Microsoft reports(rdlc) in my application.  These won't run off a SSRS server.  They'll be local reports.

I can't seem to get the syntax working.  Can someone please provide me with an exact code snippet?  Let's say I have a report called "Report1.rdlc" in my project.

In Private Sub ExportReport
    ....  code goes here
End Sub

I need to load the report file and/or load the report defition.  I keep getting errors that say the repord defition hasn;t been loaded.  Then I need to add a datasource to the report and pass though a datatable or dataset.  Then I need to export the report to a PDF file on disk.

I've been struggling to get this working. Please provide me with code snippet that works.

Thanks
0
Comment
Question by:PantoffelSlippers
  • 6
  • 6
12 Comments
 
LVL 8

Accepted Solution

by:
RyanAndres earned 600 total points
ID: 24296541
Use the ReportViewer component in your form.
ReportViewer viewer = new ReportViewer();
DataTable dt = new DataTable(); //  Change this to your datatable
ReportDataSource ds = new ReportDataSource("DataSet", dt); // Change this to your dataset name defined int he report file
lr.DataSources.Add(ds);
viewer.LocalReport.DisplayName = "Report Name";
viewer.LocalReport.ReportPath = @"C:\report.rdlc";
viewer.LocalReport.Refresh();
viewer.RefreshReport();

Open in new window

0
 
LVL 8

Assisted Solution

by:RyanAndres
RyanAndres earned 600 total points
ID: 24296548
This is the VB code:
Dim viewer As New ReportViewer()
Dim dt As New DataTable()
' Change this to your datatable
Dim ds As New ReportDataSource("DataSet", dt)
' Change this to your dataset name defined int he report file
lr.DataSources.Add(ds)
viewer.LocalReport.DisplayName = "Report Name"
viewer.LocalReport.ReportPath = "C:\report.rdlc"
viewer.LocalReport.Refresh()
viewer.RefreshReport()

Open in new window

0
 

Author Comment

by:PantoffelSlippers
ID: 24297420
Thanks Ryan

I'll give that a shot but I really needed to export to PDF as the original post requests.

I think there's a render method  but I cant get it to work.

Thanks

0
Get your Conversational Ransomware Defense e‑book

This e-book gives you an insight into the ransomware threat and reviews the fundamentals of top-notch ransomware preparedness and recovery. To help you protect yourself and your organization. The initial infection may be inevitable, so the best protection is to be fully prepared.

 
LVL 8

Expert Comment

by:RyanAndres
ID: 24297465
The ReportViewer component allows you to save as a PDF file. It can also export to an excel file.
0
 

Author Comment

by:PantoffelSlippers
ID: 24315132
Can I have a ReportViewer component without having a form?
0
 

Author Comment

by:PantoffelSlippers
ID: 24315518
RyanAndres:

In your code:

What is lr?   LocalReport I presume?

Also, after the viewer is refreshed, how do I get the PDF?


Thanks
0
 

Author Comment

by:PantoffelSlippers
ID: 24316069
RyanAndres,

IN your code you pass through a datasource which is called "Dataset".

Does this mean that in your report, there needs to be a datasource of the same name?
0
 
LVL 8

Expert Comment

by:RyanAndres
ID: 24316149
That is correct.
0
 
LVL 8

Expert Comment

by:RyanAndres
ID: 24316321
lr is LocalReport.

The ReportViewer component includes the save toolstrip item / button and you have the option to save as pdf or xls.

The ReportViewer component requires the following references:
Microsoft.ReportViewer.Common
Microsoft.ReportViewer.WinForms
System.Windows.Forms

However, you cannot display a reportviewer component in a console window :]
0
 

Author Comment

by:PantoffelSlippers
ID: 24316813
RyanAndres,

Thank you.  I have a few comments though....

You add the datasource to lr which is a LocalReport.

Then ReportViewer displays its localreport but there is no line of code that states that ReportViewer's localreport is lr.

Regarding the export of PDF:  I was planning to produce these PDF's from a Windows service with no user interface, therfore no form and no user to click export.  I do know that LocalReport has a Render method that does this but I can't get the syntax right.

Any idea how this method works?

Thanks
0
 
LVL 8

Assisted Solution

by:RyanAndres
RyanAndres earned 600 total points
ID: 24316895
Sorry I took this code from different areas of my own code.

This line:
lr.DataSources.Add(ds);

Should be:
viewer.LocalReport.DataSources.Add(ds);

Sorry but I haven't rendered a report outside of a form before. I'm sure you can get an answer on EE. :]
0
 

Author Closing Comment

by:PantoffelSlippers
ID: 31577602
Thank you very much for the effort - it's not a complete solution though.

Thanks
0

Featured Post

Free Tool: IP Lookup

Get more info about an IP address or domain name, such as organization, abuse contacts and geolocation.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Introduction In the following article I’ll be discussing and demonstrating several different ways of how images can be put on a report. I’m using SQL Server Reporting Services 2008 R2 CTP, more precisely version 10.50.1352.12, but the methods ex…
Hi, I am very much excited today since I'm going to share something very exciting Tool used for Analytical Reporting and that's nothing but MICROSTRATEGY. Actually there are lot of other tools available in the market for Reporting Such as Co…
This Micro Tutorial will teach you how to add a cinematic look to any film or video out there. There are very few simple steps that you will follow to do so. This will be demonstrated using Adobe Premiere Pro CS6.
Is your OST file inaccessible, Need to transfer OST file from one computer to another? Want to convert OST file to PST? If the answer to any of the above question is yes, then look no further. With the help of Stellar OST to PST Converter, you can e…
Suggested Courses
Course of the Month20 days, 16 hours left to enroll

810 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