9keng


ASP.Net: สร้าง Crystal Report แบบง่ายๆ ใน VS 2005

เขียนแล้วใน Uncategorized โดย 9keng บน กุมภาพันธ์ 26, 2007

หลังจากเราได้สร้าง ฐานข้อมูลไว้เรียบร้อยแล้ว และต้องการนำเอามาแสดงเป็น Crystal Report สามารถทำตามลำดับขั้นตอนดังนี้ (จะอธิบายก่อนแสดงรูปภาพ)

1.สร้างไฟล์ DataSet สำหรับดึงข้อมูลจาก Database ก่อน

-โดยการคลิกขวา ที่ โฟรเดอร์ App_Code แล้วเลือก Add New Item…   เลือก Dataset แล้วกด Add

cr1

-เลือกตำแหน่งไฟล์ของไฟล์ Database

cr2.JPG

- ทำตาม Wizard ไปเรื่อยๆ จนกระทั้งถึงหน้านี้ (ตามรูป) จะเป็นการสร้างเมทธอดในการคิวรีข้อมูล ให้เช็คถูกเฉพาะหัวข้อ

Return a DataTable แล้วให้ตั้งชื่อเมทธอดอะไรก็ได้ (ของผมชื่อ GetWebData)

cr4.JPG

-ทำไปจนกระทั้งเสร็จ จากนั้นลองทดสอบการคิวรีดู ให้คลิกขวาที่เมทธอดที่เราสร้าง (GetWebData()) แล้วก็เลือก Preview Data… แล้วคลิก Preview เหมือนในรูป

cr5.JPG

 

2.สร้างไฟล์ Crystal Report - คลิก Add New Item… แล้วเลือก Crystal Report ตั้งชื่อแล้วกด Add

cr6.JPG

 -แล้วมันจะขึ้น Wizard มาให้ จากรูปจะมีให้เลือก 3 แบบ ให้เลือกแบบ Standard กด ok

cr7.JPG

- ทำการเลือกแหล่งข้อมูลที่ต้องการนำมาแสดง ให้เลือกจาก DataSet ที่เราได้สร้างเอาไว้

cr8.JPG

-ทำการเลือกฟิลด์ที่ต้องการนำมาแสดง

cr9.JPG

-ต้องการจัดกลุ่มตามฟิลด์ไหน

cr10.JPG

-ต้องการข้อมูลสรุปของฟิลด์ใดบ้าง ใช้กรณีฟิลด์ที่เป็นตัวเลขแล้วต้องการผลรวมทั้งหมด

cr11.JPG

-ต้องการกรองข้อมูลในฟิลด์ใดบ้าง

cr12.JPG

- เลือกรูปรายงาน จากนั้นก็กด Finish

cr13.JPG

 

3.ทำการแสดงผลด้วย Crystal Report Control

-กลับไปยังหน้าเว็บ (*.aspx) ที่ Toolbox ให้ลาก Control ของ Crystal Report คือ CrystalReportSource และ CrystalReportViewer

cr14.JPG

-ที่ CrystalReportSource ตรงเมนู Configure Report Source… ให้เลือกไฟล์ Crystal Report (*.rpt) ที่เราสร้าง

cr15.JPG

 

-เสร็จแล้วไปยังหน้าโค้ด  (*.aspx.cs) ที่ Page_Load พิมพ์โค้ดดังนี้ เพื่อทำการบอกให้ Engine ของ Crystal Reports ทราบ เพื่อแก้ไขปัญหาการให้ Logon ก่อนการแสดงผล

protected void Page_Load(object sender, EventArgs e)

{ 

DataSet1TableAdapters.weblistTableAdapter dw = new DataSet1TableAdapters.weblistTableAdapter();// สร้างออบเจกต์จาก DataSet Adapter ของ DataSet1 ที่เราสร้างไว้ตอนแรก 

        DataTable dt = dw.GetWebData();// สร้างออบเจกต์  Datatable และเรียกใช้เมธอด GetWebData()ที่เป็นการคิวรีข้อมูลที่เราสร้างไว้ตอนแรก ไปเก็บไว้ใน Data table 

        CrystalDecisions.CrystalReports.Engine.ReportDocument report = new CrystalDecisions.CrystalReports.Engine.ReportDocument();// สร้างออบเจกต์ของ Engine ของ Crystal Reports 

        report.Load(Server.MapPath(“WebCrystalReport.rpt”)); //ทำการอ้างอิงตำแหน่งไฟล์ ของ Crystal Reports        report.SetDataSource(dt);

        CrystalReportViewer1.ReportSource = report;

// ทำการแสดงผล

}

 

-ทำการรันโปรแกรม จะได้ผลลัพท์ดังรูป

cr171.JPG

11 Responses to 'ASP.Net: สร้าง Crystal Report แบบง่ายๆ ใน VS 2005'

Subscribe to comments with RSS หรือ TrackBack to 'ASP.Net: สร้าง Crystal Report แบบง่ายๆ ใน VS 2005'.

  1. nop กล่าว,

    ลองทำตามวิธีที่แนะนำแล้ว แต่ใช้ vb.net แล้วแสดงมาแค่ตารางเดียวเอง

    อยากรู้ว่าถ้า select จากตารางมากกว่า 1 ตาราง ต้องเขียนโค้ดยังหรอ

    เพราะลองเขียนโค้ดดูแล้วมันไม่แสดงอะไรเลยอ่ะ

  2. kwan กล่าว,

    DataSet1TableAdapters.weblistTableAdapter dw = new DataSet1TableAdapters.weblistTableAdapter();
    ต้อง add reference อะไรเพิ่มค่ะ มัน error

    ขอบคุณค่ะ

  3. test กล่าว,

    แบบนี้ใช้ where ได้ไหม ที่ dataset ว่าต้องการข้อมูลที่เลือกอ่ะ

  4. Nong กล่าว,

    ขอเสนอความเห็นว่าให้เขียนเป็น view ใน Database ก่อน จะใช้ field อะไร มีเงื่อนไขอะไร ก็ทำใน view

  5. Nong กล่าว,

    แทนที่จะเลือก Dataset จาก table ก็ให้เลือกจาก view แทน

  6. Basagon กล่าว,

    @kwan
    ประกาศส่วน header library เพิ่มครับ
    using CrystalDecisions.CrystalReports;

    จากนั้น ไปที่หน้า solution explorer เพิ่ม reference CrystalDecisions.CrystalReports.dll เข้าไป และหา พาทใน Crystal report ให้เจอนะครับ

    ถามผู้รู้ท่านอื่นต่อบ้างนะครับ ว่า
    DataTable dt = dw.GetWebData(); ตกหล่นอะไรหรือป่าวครับ
    รู้สึกว่าจะ compile ไม่ผ่าน และมีปัญหาที่ DataTable ครับ

  7. Basagon กล่าว,

    หาเจอแล้วครับ
    ลืม ประกาศ ไลบรารี่

    using System.Data;
    using System.Data.SqlClient;

  8. Basagon กล่าว,

    พอดีผมใช้ VS2010 และใช้ CR for .net และ for VS 201 ver 14.0
    ใช้ตัว report_viewer ไม่ได้เลย ใครพอจะทราบว่าต้อง import .dll ใดบ้าง
    เพราะ นั่งหาดู มันเสียเวลาเหลือเกิน เยอะจัด

  9. fay กล่าว,

    มีวิธีการเซตอัพ cristal report รึเปล่าคะ กำลังศึกษา ทุกทีใช้ html ทำรายงานตลอด

  10. Jun กล่าว,

    ขอบคุณมากครับ
    หามากนานแระวิธีนี้

  11. ของเล่น กล่าว,

    ขอบคุณมากครับ กว่าจะหาวิธีได้


ใส่ความเห็น

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / เปลี่ยนแปลง )

Twitter picture

You are commenting using your Twitter account. Log Out / เปลี่ยนแปลง )

Facebook photo

You are commenting using your Facebook account. Log Out / เปลี่ยนแปลง )

Connecting to %s


Follow

Get every new post delivered to your Inbox.