VB.NET后台工作程序不';t执行crystal报表查看器报表源
我的问题是vb.net中的后台工作程序不允许执行一行代码 代码如下:VB.NET后台工作程序不';t执行crystal报表查看器报表源,vb.net,crystal-reports,Vb.net,Crystal Reports,我的问题是vb.net中的后台工作程序不允许执行一行代码 代码如下: Private _worker As BackgroundWorker Public Sub startload(ByVal e As System.EventArgs) _worker = New BackgroundWorker() AddHandler _worker.DoWork, AddressOf WorkerDoWork AddHandler _worker.RunWorkerCom
Private _worker As BackgroundWorker
Public Sub startload(ByVal e As System.EventArgs)
_worker = New BackgroundWorker()
AddHandler _worker.DoWork, AddressOf WorkerDoWork
AddHandler _worker.RunWorkerCompleted, AddressOf WorkerCompleted
_worker.RunWorkerAsync()
End Sub
Public Sub WorkerDoWork(ByVal sender As Object, ByVal e As DoWorkEventArgs)
objRpt = New CRBooks
con.ConnectionString = ConnStr.Connstring
Dim query As String = CreateSelectQueryAndParameters()
'if there is no item select, then exit from the method.
If Not query.Contains("Column") Then
MessageBox.Show("No selection to display!")
Return
End If
Try
Dim adapter As MySqlDataAdapter = New MySqlDataAdapter(query, con)
Dim Ds As Books = New Books
adapter.Fill(Ds, "Books")
objRpt.SetDataSource(Ds)
MsgBox(Ds.Tables(0).Rows(0).Item(0))
frmReports.CrystalReportViewer1.ReportSource = objRpt
Catch oleEx As MySqlException
MessageBox.Show(oleEx.Message)
Catch Ex As Exception
MessageBox.Show(Ex.Message)
End Try
End Sub
Private Sub WorkerCompleted(ByVal sender As Object, ByVal e As RunWorkerCompletedEventArgs)
Me.Close()
End Sub
frmReports.CrystalReportViewer1.ReportSource=objRpt行不执行,但当我尝试断点时,编译器运行该行但不执行。不幸的是,您为crystal report viewer指定了报告源,但要查看该报表查看器,您应该调用包含报表查看器的相应表单的show方法来查看该报表 使用此代码。
Public Sub WorkerDoWork(ByVal sender As Object, ByVal e As DoWorkEventArgs)
objRpt = New CRBooks
con.ConnectionString = ConnStr.Connstring
Dim query As String = CreateSelectQueryAndParameters()
'if there is no item select, then exit from the method.
If Not query.Contains("Column") Then
MessageBox.Show("No selection to display!")
Return
End If
Try
Dim adapter As MySqlDataAdapter = New MySqlDataAdapter(query, con)
Dim Ds As Books = New Books
adapter.Fill(Ds, "Books")
objRpt.SetDataSource(Ds)
MsgBox(Ds.Tables(0).Rows(0).Item(0))
frmReports.CrystalReportViewer1.ReportSource = objRpt
frmReports.CrystalReportViewer1.Refreshreport()
frmReports.show()
Catch oleEx As MySqlException
MessageBox.Show(oleEx.Message)
Catch Ex As Exception
MessageBox.Show(Ex.Message)
End Try
End Sub
此处
frmReports.show
显示包含reportviewer的表单。您实际想要实现的内容。是否要查看该报表?是。但它不会执行。Frmreports已打开。但我也尝试了,但出现了运行时错误。k您能删除或注释msgbox并尝试执行吗?并在指定报告源后尝试添加frmReports.CrystalReportViewer1.Refreshreport()
。编辑了我的答案,包括该答案。弹出的错误刷新被禁用。(RCIWINFORMVIEWR00000005)请尝试frmReports.CrystalReportViewer1.Update()…如果出现错误,请通知我。