นี่คือขั้นตอนที่ลองทำไว้ครับ แต่ไม่สำเร็จ ปัญหาคือ Chart ไม่แสดงค่าใดๆ มีเพียงกรอบว่างๆเท่านั้น
1. สร้าง Report ไว้ 2 ตัว คือ ตัว Main และตัวที่ใช้เป็น Sub report
2. สร้าง Dataset ซึ่ง มี 1 DataTable 3 Column
3. สร้าง Chart ใน Sub Report และเชื่อมต่อกับ Dataset
4. นำ Sub Report ไปไว้ใน Section Detail ของ Main report
นี่คือ Code การแสดง Report Code (VB.NET)
Sub CreateSideView(ByVal ColCnt As Short)
'ขั้นตอนการ เพิ่มข้อมมูลลง Dataset
Dim dtbPSD As New dtsCOA.dtbPSDDataTable 'อ้างถึง Datatable ที่สร้างไว้
Dim dr As DataRow
Dim arPartSize() As String = {Size425,Size250,Size180,Size150,Size106}
Dim arPSD() As String = {123, 456, 628, 125, 651, 147}
Dim arACC() As String = {45, 85, 35, 78, 36, 25}
For i = 0 To UBound(arPartSize)
dr = dtbPSD.NewRow
dr("dtcSize") = arPartSize(i)
dr("dtcAcc") = arACC(i)
dr("dtcPSD") = arPSD(i)
dtbPSD.Rows.Add(dr)
Next
Dim dtbPSD1 As New DataTable = dtbPSD
Dim Rpt2 As New CrystalDecisions.CrystalReports.Engine.ReportDocument 'ตัวแปร SubReport
Rpt2 = New crpSub 'อ้างถึง Subreport ที่สร้างไว้
Rpt2 .Database.Tables("dtbPSD").SetDataSource(dtbPSD1) 'อัพเดท Datatable
Dim Rpt1 As New CrystalDecisions.CrystalReports.Engine.ReportDocument 'ตัวแปร Main Report
Rpt1 = New crpMain 'อ้างถึง Main report ที่สร้างไว้
Rpt1.SetParameterValue("MainItem", "Test") 'Main Report มี 1 Parameter Field
With CrystalReportViewer1
.ReportSource = Rpt1
.Refresh()
End With
End Sub
ช่วยดูให้ทีว่าผิดตรงไหนครับ
Tag : .NET, VBScript, Crystal Report, VS 2013 (.NET 4.x), Windows