The following line is where it errors giving a null reference
exception:
oRptForm.crystalReportViewer.ReportSource = oReport
I have tried binding the oDataSet to a datagrid, it does show me 2
tables of values.
Private Sub btnShowReport_Click(ByVal sender As System.Object, ByVal e
As System.EventArgs) Handles btnShowReport.Click
Dim oDataSet As New ProductivityDataSet()
Dim oReport As New Productivity()
Dim oProductivityReport As New
GsaVoldrBiz.ProductivityReport()
Dim oRptForm As ImmWinForms.ReportViewer
Status.ShowStatus("Generating Productivity Report...")
Me.Cursor = Cursors.WaitCursor
oProductivityReport.GetProductivityReport(oDataSet,
dtpStartDate.Value, dtpEndDate.Value)
If oDataSet.Productivity.Rows.Count > 0 Then
Status.ShowStatus("Loading Productivity Report...")
oReport.SetDataSource(oDataSet)
oReport.SummaryInfo.ReportTitle = "Productivity Report"
oReport.SummaryInfo.ReportComments = "Start Date: " &
dtpStartDate.Text & " End Date: " & dtpEndDate.Text
'Create the Report Form
oRptForm =
ImmWinApplication.AddForm("ProductivityReport",
GetType(ImmWinForms.ReportViewer))
'Set the properties of the Report Form
oRptForm.Text = "Productivity Report"
oRptForm.crystalReportViewer.ShowCloseButton = False
oRptForm.crystalReportViewer.ShowGroupTreeButton =
False
oRptForm.crystalReportViewer.DisplayGroupTree = False
'oRptForm.crystalReportViewer.ReportSource = oReport
Try
DataGrid1.DataSource = oDataSet
oRptForm.crystalReportViewer.ReportSource = oReport
Catch ex As NullReferenceException
End Try
'Me.Cursor = Cursors.Default
'Status.HideStatus()
'Me.Close()
Else
Me.Cursor = Cursors.Default
Status.HideStatus()
MessageBox.Show("There are no records to report on,
please adjust your query and try again", "Search Results",
MessageBoxButtons.OK, MessageBoxIcon.Information)
End If
End Sub
End Class
End Namespace