Generate Report from DataGridView to Crystal Reports in VB.Net


Generate Report from DataGridView to Crystal Reports in VB.Net

In this tutorial, you will learn how to generate report from datagridview to crystal reports in

Take note that you need to follow the procedure correctly in order for you to achieve this tutorial but first you need these software in order for you to generate report from datagridview to crystal reports in

  1. Microsoft Visual Studio 2013
  2. SAP Crystal Reports Download

Step 1:

Create a new project and name it depending on your like.

Step 2:

Drag the datagridview from our toolbox and modify its columns depending on your desired output. (see example image below).

Step 3:

Right click your Solution Project from the Solution Explorer and add new item, then search for DataSet. After adding new dataset, create a datatable from there. You should name your datatable columns accordingly to your datagridview columns. DataSet will be used as an adapter to pass all our datagridview values to our crystal report. (see example image below).

Step 4:

Right click again your Solution Project from the Solution Explorer and add new item, then search for Crystal Reports and create a blank report. After creating your crystal report, go to Field Explorer > Database Fields > Right Click > Database Expert > Project Data Folder > ADO.NET DataSets > then select your DataTable1. After seeing your DataTable1 at the right corner (Selected Tables) click OK. (see sample image below).

Step 5:

After that, check your database fields by clicking the small plus button on its left side then click also the small plus button on your DataTable1. Drag the columns on the Section 3 (Details) of our blank crystal report, as you drag all the columns into our report, you will notice that the crystal report will automatically produce its designated column header at the Section 2 (Page Header). (see example image below).

Step 6:

Add another windows form, and drag the crystalreportviewer in the form. The crystalreportviewer will automatically dock to the form.

Step 7:

Lets do the coding! To achieve generate report from datagridview to crystal reports in, first we will add example values on our datagridview. We will put the codes on the form load in order for the project to read it while the form is loading.

  1. Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
  2. DataGridView1.Rows.Add("1", "Ian", "Iloilo", "123456789")
  3. DataGridView1.Rows.Add("2", "Luffy", "Antique", "12345987")
  4. DataGridView1.Rows.Add("3", "Pirates", "Capiz", "23421324")
  5. End Sub

Step 8:

Then, lets add a button on our project and insert this line of code by double clicking the button.

  1. Dim dt As New DataTable
  2. With dt
  3. .Columns.Add("ID")
  4. .Columns.Add("Name")
  5. .Columns.Add("Address")
  6. .Columns.Add("Contact Number")
  7. End With
  8. For Each dgr As DataGridViewRow In Me.DataGridView1.Rows
  9. dt.Rows.Add(dgr.Cells(0).Value, dgr.Cells(1).Value, dgr.Cells(2).Value, dgr.Cells(3).Value)
  10. Next
  12. Dim reportDocument As CrystalDecisions.CrystalReports.Engine.ReportDocument
  13. reportDocument = New CrystalReport1
  14. reportDocument.SetDataSource(dt)
  15. Form2.CrystalReportViewer1.ReportSource = reportDocument
  16. Form2.ShowDialog()
  17. Form2.Dispose()


If error persists while running the system, go to your app.config, erase the whole line of code and add this line of code. If you don’t have an app.config on your project then go to your solution project, right-click and add new item. Select go to Common Items > General > Application Configuration File.

  1. <?xml version="1.0" encoding="utf-8" ?>
  2. <configuration>
  3. <startup useLegacyV2RuntimeActivationPolicy="true">
  4. <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/>
  5. </startup>
  6. </configuration>

Congratulations! You successfully finished this tutorial and generate report from datagridview to crystal reports in!

RAR Extraction Password:

Password: luffypirates

For questions or any other concerns or thesis/capstone creation with documentation, you can contact me through the following:

E-Mail: [email protected]


Contact No.: +639771069640

To download the project sample code, click here.

Ian Hero L. Lavapiez

BSIT Graduate

System Analyst and Developer

Related topic(s) that you may like:



Facebook Comments


Please enter your comment!
Please enter your name here