我在带有 vs 2010 的 asp.net 应用程序中使用水晶报告,当我在 Page_Load 事件中使用代码时打印和导出报告工作正常,但是当我在按钮单击事件上使用相同的代码时,它返回空数据或空白报告,当我使用 CR Viewer 内置按钮将其发送到打印机或导出到硬盘驱动器时。在调用代码之前,我还在页面加载和按钮单击事件中使用了 IsPotBack 选项。但还是没能解决问题。
以下是我访问报告的源代码:
Dim CN As New SqlConnection("connectionstring...")
CN.Open()
Dim ds As New DS_App_Profile.V_App_ProfileDataTable()
Dim cmd As New SqlCommand("SELECT * from TblApplicants where Applicant_Id=@id", CN)
cmd.Parameters.Add(New OleDbParameter("id", OleDbType.VarChar)).Value = Me.ComboBox1.SelectedValue
Dim adp As New SqlDataAdapter(cmd)
adp.Fill(ds)
'object of Report RptApplicantsByID
Dim rep As New RptApplicantsByID()
rep.SetDataSource(DirectCast(ds, DataTable))
Me.CrystalReportViewer1.ReportSource = rep
Me.CrystalReportViewer1.DataBind()