วิธีใช้ Crystal Report ใน ASP.Net
ใน Window App. ใช้ Crystal Report นั้นไม่ยาก
แต่ ใน Web App. ใช้ Crystal Report แล้วแต่ข้อมูลไม่ออกมาให้เห็น
จึงได้ทดลองค้นหาวิธีทำตั้งนานหลายชั่วโมง
จนกระทั่งทำได้สำเร็จได้ผลตามต้องการ
แต่นี่ยังไม่ใช่วิธีที่ดีที่สุด ก็ต้องทดลองใช้ดูแล้วค่อย ๆ พัฒนาหาวิธีการที่ดีกว่านี้
ในเบื้องต้นจะเอาตัวอย่างเท่าที่ทำได้ผลแล้วมาแสดงให้เห็นก่อนดังนี้
1.สร้าง Dataset ขึ้นมาสมมุติขื่อ Dataset1.xsd ในนี้มี DataTable ชื่อ DataTable1
2.สร้าง Crystal Report สมมุติชื่อ CR1.rpt
- DataBase Expert > Project Data > ADO.NET Dataset > Dataset1
- ทำตามขั้นตอนการสร้าง Crystal Report ทั่ว ๆ ไป
3.ใน Code-Behind เขียนคำสั่งดังนี้
Imports CrystalDecisions.Shared
Imports CrystalDecisions.CrystalReports.Engine
Imports System.Data.SqlClient
Partial Class DailyMeterList
Inherits System.Web.UI.Page
Dim R1 As New ReportDocument
Protected Sub btnPreview_Click ...
Dim xFile As String = Server.MapPath("CR1.rpt")
R1.Load(xFile, OpenReportMethod.OpenReportByDefault)
Dim objConn As New SqlConnection(YourConnectString)
Dim DA As SqlDataAdapter
Dim ds As New DataSet
Dim dt As DataTable
Dim strCmd As String
strCmd = "SELECT * FROM WorkTable "
objConn.Open()
DA = New SqlDataAdapter(strCmd, objConn)
DA.Fill(ds, "DataTable1")
dt = ds.Tables("DataTable1")
R1.Database.Tables(0).SetDataSource(ds.Tables(0))
V1.ReportSource = R1
End Sub
End Class
'แต่เกิดปัญหาว่าเวลากด Next เพื่อดูหน้าต่อไปปรากฎว่า
'รายงานไม่แสดงผลเลยจึงแก้ด้วย Code ดังนี้
Protected Sub Page_Load ...
If Page.IsPostBack Then
btnPreview_Click(sender, e)
End If
End Sub