Protected Overrides Sub OnUnload(e As EventArgs)
Dim rpt As ReportDocument = Session("rpt_PersonDev")
rpt.Close()
rpt.Dispose()
GC.Collect()
MyBase.OnUnload(e)
End Sub
จะไส่ดังกล่าาวได้อย่างไร พอใส่ไปแล้วมัน Error Object reference not set to an instance of an object เหมือนผมไม่ได้ประกาศ rpt
พอไม่ประกาศก่อนก็จะไส่ไม่ได้ เพราะ Error และรีพอร์ทผมมีการใช้ Session เพื่อให้เปลี่ยนหน้าได้ กรณีมีหลายหน้า
อยู่ใน Code (VB.NET)
Protected Overrides Sub OnInitComplete(e As EventArgs)
crvConclusion.ReportSource = Session("rpt_PersonDev")
MyBase.OnInitComplete(e)
End Sub
Code (VB.NET)
Protected Sub Call_Report()
Dim objCmd As New SqlCommand
Dim dtAdapter As New SqlDataAdapter
Dim ds As New DataSet
Dim dt As DataTable
Dim strSQL As String
If rdoCurent.Checked = True Then
strSQL = "EXEC rpt_PersonDev '" + lblMem_ID.Text + "','" + txtDate1.Text + "','" + txtDate2.Text + "'"
With objCmd
.Connection = Conn
.CommandText = strSQL
.CommandType = CommandType.Text
End With
dtAdapter.SelectCommand = objCmd
dtAdapter.Fill(ds, "dtPersonDev")
dt = ds.Tables(0)
dtAdapter = Nothing
Conn.Close()
Conn = Nothing
Dim rpt As New ReportDocument()
rpt.Load(Server.MapPath("rptPersonDev.rpt"))
rpt.SetDataSource(dt)
Session("rpt_PersonDev") = rpt 'Session Report เพื่อเปลี่ยนหน้า
crvConclusion.ReportSource = rpt
crvConclusion.RefreshReport()
crvConclusion.Visible = True
End Sub