|
ก็ต้องเรียกได้ว่าเป็นก้าวแรกจริงๆแหละครับทั่นผู้ชม แต่แอดมินจะเน้นไปที่การเขียนโค้ดแล้วสั่งให้ทำงานจึงจะเห็นผลลัพธ์ หรือที่เราเรียกว่า Run Time มากกว่าการใช้วิธีจับ Control ลากมาวางแปะลงบนฟอร์ม หรือที่เราเรียกว่า Design Time เพราะวิธีการนี้พอถึงจุดๆหนึ่งมันจะตันจนหาทางออกไม่ได้ ... แต่เกือบจะทุกงานนั่นแหละ มันก็ต้องมีทั้ง Design Time และ Run Time มาผสมปนเปกันไป ซึ่งก็ขึ้นอยู่กับทักษะ และประสบการณ์ของแต่ละบุคคล ก็พยายามหมั่นลองศึกษากันไปนะข่ะรับกระผม
มาดูหน้าจอ Design ...
ก็ใช้วิธีการมาตรฐานคือการเลือก Control ต่างๆมาวางแปะลงบน ActiveReports Designer โดยแยกเป็นส่วนๆตามชื่อ สำหรับ Detail ก็คือส่วนที่เราต้องการพิมพ์ข้อมูล
เราสามารถกำหนดค่าคุณสมบัติ (Properties) ต่างๆให้กับ Control ของตัว ActiveReports ในแบบ Design Time และดูผลด้วยการ Preview ได้เลยทันที นี่ก็จะเป็นการทดสอบเบื้องต้น เพราะอย่าลืมว่าข้อมูลที่ถูกส่งมาพิมพ์จริงๆ มันไม่ได้เป็นแบบนิ่งๆไม่ไหวติงหรือ Static แต่จะแปรเปลี่ยนผันไปตลอด หรือ Dynamic ...
โค้ดในส่วนของ ActiveReports ...
- Imports DataDynamics.ActiveReports
- Imports DataDynamics.ActiveReports.Document
- Public Class NewActiveReport1
- Private Sub NewActiveReport1_ReportStart(sender As Object, e As System.EventArgs) Handles Me.ReportStart
- '/ การตั้งค่าหน้ากระดาษ
- With PageSettings
- '/ หน่วยวัดเป็นนิ้ว (ใช้ CmToInch ด้วยการรับค่าเซนติเมตร แต่แปลงเป็นนิ้วแทน เพื่อวัดระยะได้ง่ายกว่า)
- .Margins.Left = CmToInch(1.5)
- .Margins.Right = CmToInch(0.2)
- .Margins.Top = CmToInch(1.5)
- .Margins.Bottom = CmToInch(1.5)
- '/ ตั้งค่ากระดาษแนวตั้ง
- .Orientation = PageOrientation.Portrait
- '/ กระดาษขนาด A4
- .PaperKind = Drawing.Printing.PaperKind.A4
- '/ กรณีที่กำหนดขนาดกระดาษเอง
- '/ .PaperKind = Drawing.Printing.PaperKind.Custom
- End With
- '// กำหนดค่าให้กับ Control แบบ Run Time
- With Barcode1
- .Text = "G2GNET-2017"
- .Style = BarCodeStyle.Code39
- .CaptionPosition = BarCodeCaptionPosition.Above
- End With
- TextBox1.Text = "ทดสอบการใช้งาน ActiveReports .NET"
- TextBox2.Text = "ส่วนของ Detail"
- End Sub
- Private Sub PageFooter1_Format(sender As System.Object, e As System.EventArgs) Handles PageFooter1.Format
- Label1.Text = "หน้าที่: " & Me.PageNumber
- End Sub
- End Class
คัดลอกไปที่คลิปบอร์ด
มาดูโค้ดในส่วนของ Viewer เพื่อผูก ActiveReports Designer มาแสดงผลลงบนฟอร์มของ VB
- Public Class Form1
- Private Sub Form1_Load(sender As Object, e As System.EventArgs) Handles Me.Load
- Dim rpt As New NewActiveReport1
- ' / --------------------------------------------------------------------------------
- ' / ส่วนที่สำคัญในการผูก ARDesigner เข้ากับรายงาน
- ' / Instance name ARDesigner มันจะชี้ไปที่ไฟล์ NewActiveReport1.vb
- ' / โหลดรายงาน Document (NewActiveReport1) เข้าสู่ ActiveReports Viewer
- Me.Viewer1.Document = rpt.Document
- ' / --------------------------------------------------------------------------------
- ' / ปรับการย่อขยาย (Zoom) ของหน้ารายงาน
- Viewer1.ReportViewer.Zoom = 0.95 ' 95%
- ' / Run Report
- rpt.Run()
- End Sub
- End Class
คัดลอกไปที่คลิปบอร์ด เพียงเท่านี้ก็เป็นการสิ้นสุดกระบวนการ
ดาวน์โหลดโค้ดต้นฉบับ VB.NET (2010) ได้ที่นี่
|
|