Hướng dẫn tạo Crystal Report

Bài tập thực hành tạo Crystal Report với ví dụ cụ thể, có hướng dẫn chi tiết bằng hình ảnh.

pdf8 trang | Chia sẻ: longpd | Lượt xem: 8868 | Lượt tải: 1download
Bạn đang xem nội dung tài liệu Hướng dẫn tạo Crystal Report, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
Website: Email: admin@cdndalat.edu.vn Phạm Đình Nam – GV. Khoa CNTT - Trường Cao đẳng nghề Đà Lạt Trang 1 BÀI TẬP THỰC HÀNH: LẬP TRÌNH WINDOWS 2 BÀI SỐ 01: Sử dụng cơ sở dữ liệu MS SQL Server (2005) quản lý kho (có file .zip kèm theo): Sử dụng MS Visual Studio .NET 2005/2008, thiết kế form cho phép chọn và lọc danh sách hàng hóa theo loại hàng hóa như sau: Yêu cầu: + Khi chọn danh sách loại hàng hóa, các mặt hàng có cùng chủng loại sẽ được lọc trong DataGridView bên dưới. + Khi nhấn nút IN DANH SÁCH HÀNG HÓA, kết quả sẽ được xuất ra report: Website: Email: admin@cdndalat.edu.vn Phạm Đình Nam – GV. Khoa CNTT - Trường Cao đẳng nghề Đà Lạt Trang 2 HƯỚNG DẪN Bước 1: Nhắp chuột vào nút Show All Files trên cửa sở Solution Explorer để hiện tất cả các file. Sau đó nhắp chuột vào dấu + bên trái thư mục My Project sẽ thấy xuất hiện tập tin Settings.settings. Bước 2: Công việc tiếp theo mà chúng ta hãy sử dụng tập tin Settings.settings này để tạo chuỗi kết nối cho ứng dụng, việc này rất có ý nghĩa nếu bạn muốn xây dựng một ứng dụng thương mại sau này. Hãy tập thói quen sử dụng kiểu kết nối như tôi giới thiệu sau đâu để thấy tính hiệu quả của chúng các bạn nhé! Nào, bây giờ hãy nhắp chuột 2 phát vào tập tin Settings.settings để mở chúng ra thôi, xem có gì trong đó mà tôi tiếp thị từ nãy giờ. Bạn hãy thiết lập giá trị cho thuộc tính kết nối như hình trên, sau đó Save lại. Name: MySqlConnString Type: (Connection String) Scope: Application Value: Data Source=.\SqlExpress;Initial Catalog=QuanLyKho;Integrated Security=True (Giá trị Value có thể khác tùy thuộc vào bạn muốn kết nối theo tài khoản SQL hay không) Website: Email: admin@cdndalat.edu.vn Phạm Đình Nam – GV. Khoa CNTT - Trường Cao đẳng nghề Đà Lạt Trang 3 Bây giờ bạn có thể nhắp chuột vào nút Show All Files một lần nữa để dấu đi những gì bạn không muốn thay đổi. Bước 3: Vào Microsoft SQL Server 2005, mở cơ sở dữ liệu QuanLyKho ra tạo một thủ tục (Stored Procedures) với cú pháp như sau (nhớ Execute nhé bạn!): CREATE PROCEDURE sp_DanhSachHangHoa (@MaLoai nvarchar(5)) AS BEGIN SELECT tblLoaiHangHoa.MaLoai, tblLoaiHangHoa.TenLoai, tblHangHoa.HangHoaID, tblHangHoa.TenHH, tblHangHoa.MaHieu, tblHangHoa.DVT FROM tblHangHoa INNER JOIN tblLoaiHangHoa ON tblHangHoa.MaLoai = tblLoaiHangHoa.MaLoai WHERE tblLoaiHangHoa.MaLoai=@MaLoai END Bước 4: Quay trở lại môi trường MS Visual Studio .NET, tạo một Crystal Report, đặt tên là rptDanhSachHangHoa.rpt, lấy dữ liệu nguồn từ thủ tục sp_DanhSachHangHoa đã viết ở Bước 3. Các bước thực hiện như sau: - Bước 4.1: Chọn Using the Report Wizard Nhấn OK để tiếp tục - Bước 4.2: Vào Create New Connection  OLE DB (ADO)  Microsoft OLE DB for SQL Server. Website: Email: admin@cdndalat.edu.vn Phạm Đình Nam – GV. Khoa CNTT - Trường Cao đẳng nghề Đà Lạt Trang 4 Nhấn Next để tiếp tục. - Bước 4.3: Nhập vào Server và chọn Database như hình sau: Nhấn Next để tiếp tục, sau đó Finish để hoàn thành việc kết nối, cửa sổ sau xuất hiện: Website: Email: admin@cdndalat.edu.vn Phạm Đình Nam – GV. Khoa CNTT - Trường Cao đẳng nghề Đà Lạt Trang 5 - Bước 4.4: Vào QuanLyKho  dbo  Stored Procedures  add sp_DanhSachHangHoa vào cửa sổ bên phải như hình dưới đây: Nhấn Next để tiếp tục. - Bước 4.5: Đưa toàn bộ các trường của thủ tục sp_DanhSachHangHoa sang cửa sổ bên phải Nhấn Next Next… để tiếp tục (hoặc Finish để hoàn tất) Website: Email: admin@cdndalat.edu.vn Phạm Đình Nam – GV. Khoa CNTT - Trường Cao đẳng nghề Đà Lạt Trang 6 - Bước 4.6: Trang điểm lại cho em Report đẹp hơn một tí đi nào: - Bước 5: Tạo form mới, đặt tên là frmDanhSachHangHoa, thiết lập thuộc tính WindowState của form là Maximized, đưa vào form một điều khiển CrystalReportViewer (đặt tên là CrystalReportViewer1). Website: Email: admin@cdndalat.edu.vn Phạm Đình Nam – GV. Khoa CNTT - Trường Cao đẳng nghề Đà Lạt Trang 7 - Bước 6: Tạo form mới, đặt tên là frmChonLoaiHang: Thêm vào form các điều khiển và đặt tên cho các điều khiển như sau: Loại điều khiển Tên điều khiển ComboBox cboMaLoai DataGridView DataGridView1 Button btnIn - Bước 7: Viết thủ tục và các sự kiện cho form frmChonLoaiHang như sau: Imports System.Data.SqlClient Public Class frmChonLoaiHang 'Khai bao cac bien dung chung cho lop Private conn As New SqlConnection Private cmd As New SqlCommand Private ds As New DataSet 'Dinh nghia thu tuc nao danh muc loai hang hoa Private Sub NapLoaiHangHoa() Dim da As New SqlDataAdapter("Select * From tblLoaiHangHoa", conn) Dim dt As New DataTable da.Fill(dt) Me.cboMaLoai.DataSource = dt Me.cboMaLoai.ValueMember = "MaLoai" Me.cboMaLoai.DisplayMember = "TenLoai" End Sub 'Dinh nghia thu tuc loc hang hoa theo loai hang hoa Private Sub LocHangHoa() If Me.cboMaLoai.ValueMember "" Then cmd.CommandType = CommandType.StoredProcedure cmd.CommandText = "sp_DanhSachHangHoa" cmd.Parameters.Clear() cmd.Parameters.AddWithValue("@MaLoai", Me.cboMaLoai.SelectedValue) Dim da As New SqlDataAdapter da.SelectCommand = cmd ds.Clear() Website: Email: admin@cdndalat.edu.vn Phạm Đình Nam – GV. Khoa CNTT - Trường Cao đẳng nghề Đà Lạt Trang 8 da.Fill(ds, "DanhSachHangHoa") Me.DataGridView1.DataSource = ds.Tables("DanhSachHangHoa") End If End Sub Private Sub btnIn_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnIn.Click 'Nap du lieu cho Report Dim myReport As New rptDanhSachHangHoa myReport.SetDataSource(ds.Tables("DanhSachHangHoa")) 'Nap form in report Dim f As New frmDanhSachHangHoa f.CrystalReportViewer1.ReportSource = myReport f.ShowDialog() End Sub Public Sub New() ' This call is required by the Windows Form Designer. InitializeComponent() ' Add any initialization after the InitializeComponent() call. conn.ConnectionString = My.Settings.mySqlConnString conn.Open() cmd.Connection = conn Call NapLoaiHangHoa() Call LocHangHoa() End Sub Private Sub cboMaLoai_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cboMaLoai.SelectedIndexChanged Call LocHangHoa() End Sub End Class Còn bây giờ, chúng ta còn chần chừ gì nữa nào, hãy nhấn Start tận hưởng sản phẩm của mình đi nè! Có mã nguồn kèm theo, các bạn có thể tham khảo thêm. Chúc các bạn thành công!!!
Tài liệu liên quan