Looking at the Report Viewer Control

Play Looking at the Report Viewer Control

The Discussion

  • User profile image
    Dear Thom,

    I this sample I saw that in Report Builder, reports designed were bound to models and in Visual Studio 2005 reports designed were bound to datasets/datatables. What came to my mind based on your sample is: Is it possible to have reports designed in Report Builder bound to datasets/datatables? Is it possible to have reports designed in Visual Studio 2005 bound to models?
  • User profile image
    Is it possible to have reports designed in Report Builder bound to

    Sure - this is actually bound to a dataset by default. I would think that you could code this to bind to a datatable as well.

    Is it possible to have reports designed in Visual Studio 2005 bound to models?

    What kind of model do you mean?
  • User profile image
    Is it possible to build a report based on a dataset that you build in code? I have a dataset that I pull data in from an xml file. In the demo it shows you have to create a data source first. How would you do this if your data is stored in an xml file?

  • User profile image
    Well... After much research I Answered my own question. Maybe this is just so simple it is just obvious to everyone else, but I missed it until about 2am. I finally found a post on asp.net's website showing how to do this on a webform. So for all the others that can't get this like me here is some help:

    I had a hard time understanding how to build the report since I could not add my xml file as a data source. What I did was added a new DataSet to my project and used it as my data source. This DataSet is not the actual DataSet I am using in code but they are identical in structure. This made designing the report easy.

    After you add the Dataset to your project open up the xsd file that will be created and thne by right clicking in the Dataset Designer window navigate to Add>DataTable. This will add a blank DataTable Object to the designer window.

    By right-clicking on the DataTable object you have the option of adding columns to it. Add columns to the DataTable exactly like they are in your DataSet that you have built in code. Also Make sure to rename the DataTable.

    This newly created DataSet will now show up in the DataSource window and you can create your report file from it just like the video shows.

    I used a report viewer and created a new report. When the report designer window opens there will be a new menu added to vs called 'Report' Clcik it and then click Data Sources. This opens up the Report Data Sources window. Make sure the Report Data Source listed matches the one you created, if not select it and delete it from the list then select your DataSet from the Project Data Sources dropdown and click 'Add to Report'

    Now, tying it all together in your code is next.

    After you have the Dataset in your app built and load in the data from the xml file (I won't demo that here, there are plenty of places to find out how to do it and it is very simple) I used this code to set the tie in my dataset I created in code to the report viewer.

    Me.ReportViewer1.LocalReport.DataSources.Add(New Microsoft.Reporting.WinForms.ReportDataSource("DataSet1_Bills", Me.MyBills.Tables("Bills")))


    DataSet1_Bills is what is listed in the Report Data Source window as discussed above. MyBills is the DataSet I created in code and I just reference the Bills table.

    Hope this helps someone else out.

  • User profile image
    Do you happen to have a video of using the ReportViewer control in local mode in ASP.NET 2.0?  I am trying to setup and run a report locally and I am having some difficulties.  Thanks.
  • User profile image

    can we have a complete video here?

    or is this the complete one.

  • User profile image

    Thanks for wonderful post. It helps me for creating rdlc report.

    Now i need another help.

    I need to add two tables/procedures in my report.


    My report have two section. One is Header and another is details.


    I sgall use companyInfo table for header and use TransactionInfo for detail section.


    But i am unable to add two table of data Programmatically.


    The report talke only one table with specific datasource name.

    How i can load twho table at a time.

    consider following code which i have used for retriveing single data table.



    string sqlQ = "Select * from CompanyInfo";
                string sqlQ1= @"Select * from command_1 where operationType = 2";

                DataSet ds = new DataSet() ;
                SqlConnection con = new SqlConnection("Data Source=ITSOFT206; initial catalog=rbrl;user id = sa;password=start777");

                DataTable dt = new DataTable();
                DataTable dt1 = new DataTable();

                SqlDataAdapter da = new SqlDataAdapter(sqlQ , con);
                SqlDataAdapter da1 = new SqlDataAdapter(sqlQ1, con);

                dt.TableName = "CompanyInfo";
                dt1.TableName = "command_1";
                ds.Tables.Add(dt.Copy ());

                ReportViewer1.ProcessingMode = ProcessingMode.Local;
                LocalReport lc = ReportViewer1.LocalReport;
                lc.ReportPath = "Report1.rdlc";

                ReportDataSource rds = new ReportDataSource();
                rds.Name = "rptSource_command_1";
                rds.Value = ds.Tables["command_1"];

                 lc.DataSources.Add (rds);



    hope i will get solution.

  • User profile image

    unable to add a new dataset in reportviewer visual studio 2010.
    I could do anything, from adding images, parameters and control to the designer; but as soon i try to ad a new dataset (using wizard also), my enviroment is forced to restart.
    Note: Simple Windows Application with that one Report added.

Add Your 2 Cents