Site Search:
Sign in | Join | Help

This Blog

Syndication

Tags

No tags have been created or used yet.

Crystal Reports

Notes, Tips and Tricks on Developing using Crystal Reports

VS 2008 Changing a datasource at runtime

This is a walk through for changing the datasource of a VS 2008 Crystal Report at runtime.

Create a new form in VB, add the Crystal Report Viewer control, dock it. For the sake of simplicity, I've kept the code as concise as possible. The form has two public properties, the report name and the data source. We pass those in before opening the form.

Imports Microsoft.VisualBasic
Imports System
Imports System.Drawing
Imports System.Windows.Forms


Public Class ReportCrystal
    Dim crDoc As New CrystalDecisions.CrystalReports.Engine.ReportDocument


    'public variables
    Public ReportName As String
    Public ReportDataTable As DataTable



    Private Sub ReportCrystal_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        Dim strStartupPath As String = Application.StartupPath
        strStartupPath += "\reports\" & Me.ReportName
        crDoc.Load(strStartupPath)
        crDoc.SetDataSource(ReportDataTable)
        Me.CrystalReportViewer1.ReportSource = crDoc
    End Sub
End Class

So, the report is called like this. Naturally there will be parameters, but that is not covered here.

Private Sub btnPrintTickets_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnPrintTickets.Click
    Dim frm As New ReportCrystal


    frm.ReportName = "PickingTickets.rpt"
    'code to populate a datatable. This code uses my custom data access classes, but any data access code will do. 
    frm.ReportDataTable = SPs.sp_SOP10200_SEL_bySopnumbe(Me.Orders, Me.txtPalletID.Text, Me.chkOptimize.Checked, AppUser.Database).getTable


    frm.ShowDialog()
End Sub

Comments

 

VB.NET said:

Crystal Adding Crystal to a Deployment Project VS 2008 Changing a datasource at runtime

April 7, 2009 1:13 PM

Leave a Comment

(required)  
(optional)
(required)  
Add

About Steve Gray

Steve is a seasoned (translate: old) developer in VB and ASP.NET. He spends most of his time in Dynamics GP, writing custom mods for consulting firms. Crystal reports, eConnect, VS Tools for Dynamics... anything that comes along.