水晶报表问题
在vb2005下我还不会做水晶报表,从网上找到别人写的代码如下:
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Try
Dim sqlCnn As New SqlConnection
sqlCnn.ConnectionString = "Persist Security Info=False;Integrated Security=true;Database=testMDB_SQL;Server=John "
Dim sqlCom As New SqlCommand
sqlCom.Connection = sqlCnn
sqlCom.CommandText = "Select * From Tab_Registraz "
sqlCnn.Open()
Dim ds As New DataSet
Dim da As New SqlDataAdapter(sqlCom)
da.Fill(ds, "Tab_Registraz ")
sqlCnn.Close()
Dim report As New ReportDocument()
report.Load(My.Application.Info.DirectoryPath & "\CrystalReport1.rpt ")
report.SetDataSource(ds)
crv.ReportSource = report
Catch ex As Exception
MessageBox.Show(ex.Message, " ", MessageBoxButtons.OK, MessageBoxIcon.Error)
End Try
End Sub
那个crv是什么东东?另外如果我有两个Button,一个DataGridViw,其中一个是查询的Button,查询结果在DataGridView里显示,另一个是打印的Button,打印刚才的查询结果,两个Button的代码分别是什么?
[解决办法]
Dim ds As DataSet = New DataSet
ds = hs.Dselect(SQL语句)
Try
CrystalReportSource1.ReportDocument.Load(Server.MapPath( "caiq.rpt "))
' CrystalReportSource1.ReportDocument.SetDataSource(ds.Tables(0))
CrystalReportSource1.ReportDocument.SetDataSource(ds.Tables(0))
CrystalReportSource1.ReportDocument.ParameterFields( "a ").CurrentValues.AddValue(ViewState( "a "))//变量a
CrystalReportSource1.ReportDocument.ParameterFields( "b ").CurrentValues.AddValue(ViewState( "b "))//变量b
CrystalReportSource1.DataBind()
CrystalReportViewer1.ReportSource = CrystalReportSource1
CrystalReportViewer1.DataBind()
Catch ex As Exception
End Try
查询
Dim ds As DataSet = New DataSet
ds = hs.Dselect(SQL语句)
Try
CrystalReportSource1.ReportDocument.Load(Server.MapPath( "caiq.rpt "))
' CrystalReportSource1.ReportDocument.SetDataSource(ds.Tables(0))
CrystalReportSource1.ReportDocument.SetDataSource(ds.Tables(0))
CrystalReportSource1.ReportDocument.ParameterFields( "a ").CurrentValues.AddValue(ViewState( "a "))//变量a
CrystalReportSource1.ReportDocument.ParameterFields( "b ").CurrentValues.AddValue(ViewState( "b "))//变量b
CrystalReportSource1.DataBind()
CrystalReportViewer1.ReportSource = CrystalReportSource1
CrystalReportViewer1.DataBind()
Catch ex As Exception
End Try
Try
rptRetailOrder.PrintOptions.PrinterName = “打印机名”
rptRetailOrder.PrintToPrinter(1, True, 1, 99999)
Catch mye As Exception
Response.Write( " <script> alert( '打印出错!!! ') </script> ")
End Try
打印功能
web客户端打印要用控件