Giới thiệu Crystal Report Crystal Reports là công cụ thiết kế báo cáo cho phép bạn tạo ra những báo cáo bằng cách tìm và định dạng dữ liệu từ một hay nhiều nguồn dữ liệu khác nhau Cry
Trang 1Crystal Report
Trang 2Mục tiêu bài thuyết trình:
Thiết kế 1 chương đơn giản từ khâu kết nối CSDL – hiện thị lên form – tạo ra 1 report
Trang 3Giới thiệu Crystal Report
Crystal Reports là công cụ thiết kế báo cáo cho phép bạn tạo ra những báo cáo bằng cách tìm và định dạng dữ liệu
từ một hay nhiều nguồn dữ liệu khác nhau
Crystal Report được tích hợp sẵn trong bộ Visual Studio Team System và Professional (còn phiên bản VS Express thì không có)
Ngoài ra, bạn có thể download Crystal Report và sử dụng công cụ này như 1 phần mềm chuyên dùng để thiết kế
report (dĩ nhiên là có tính phí)
Trang 4Chương trình minh họa
Đầu tiên, chúng ta tạo CSDL (mình dùng SQL) tạo 1 database tên VD, có 1 table là NhanVien
NhanVien (MaNV, HoTen, SoDT, NgVL)
Trang 5Form chính :
Viết 1 chương trình hiện thị table NhanVien lên form, và 1 button in:
Trang 6Tạo DataTable
Bước tiếp theo là tạo 1 DataTable trong Dataset để chứa data sẽ đổ vào Crystal Report
Trang 7 Chú ý: DataTable mới tạo phải có số lượng ,tên
colum giống hệt với số lượng và tên colum mà ta sẽ chứa dữ liệu cần hiện thị
Trang 8Tạo Crystal Report mới:
Vào Project -> Add New Item -> Crystal Report
Trang 9Cửa sổ Crystal Report Gallery
Các bạn chọn “As a Blank report”
để dễ dàng thao tác theo ý mình->ok
Khi các bạn đã hiểu rõ và thành thạo hơn các bạn có thể dùng “Using the Report Wizard” để tiến hành thao tác nhanh chóng
“From a Existing Report” là mở Một báo cáo đã có sẵn
Trang 10Giao diện của Crystal Report
Trang 11Các Section của báo cáo
Report Header : phần tiêu đề của báo cáo
Trang 12Các Section của báo cáo
Report footer : xuất hiện ở cuối cùng của báo cáo, thường là tổng kết, ký tên
Trang 13Các Section của báo cáo
Page header : thường xuất hiện ở đầu mỗi trang, dùng để ghi tiêu đề các cột, số trang
Trang 14Các Section của báo cáo
Page footer : thường xuất hiện ở cuối mỗi trang, dùng để ghi số trang, ngày giờ in báo cáo
Trang 15Các Section của báo cáo
Details : Xuất hiện đối với mỗi mẫu tin thường được dùng in thông tin của cột
Trang 16Đưa DataTable vào Report
Click phải “Database Fields” chọn “Database Expert ”
Bạn chọn như hình, và đưa DataTable hồi nãy sang
“Selected Tables” bằng nút [>]
Trang 17Kết nối Datatable vào Report
Vậy từ nãy giờ chúng ta thiết kế Dataset và Crystal Report để làm gì?
Câu trả lời nằm ở phần này: Dataset giống như 1 cái thùng chứa rỗng (datatable) nó sẽ chứa thông tin mà chúng ta đưa vào để hiện lên report, công việc tiếp theo mà chúng ta sẽ làm là gắn từng colum trong
datatable vào report để hiện thông tin
Trang 18Đưa colum vào Report
Công việc rất đơn giản chỉ là “kéo và thả” các colum vào vị trí cần hiện thị
Trang 19Một số fields đặc biệt
Print Date : ngày in
Page Number : số trang
Chỉ cần kéo thả, là bạn có ngay 1
fields hữu ích cho báo cáo
Trang 20Tạo form chứa CrystalReportViewer
Tạo 1 form mới và thêm vào tool
“crystalreportviewer” các bạn nên chỉnh
Trang 21Thoàn thành phần thiết kế giao diện
Từ nãy giờ chúng ta đã thiết kế 3 thành phần:
- Dataset: để tạo datatable
- Crystal Report: để thiết kế report
- Form thứ 2: chứa CrystalReportViewer để hiện thị report
-> công dụng của 3 thành phần này là: database như 1 cái table chứa các cột dữ liệu, để thể hiện lên report,
và report này được xem bằng công cụ
CrystalReportViewer trong form mới tạo
Trang 22Kết nối thành phần bằng code
Nhưng tất cà những thành phần kia, chúng chỉ là các table rỗng, không có dữ liệu gì cả, công việc của
chúng ta bây giờ là dùng code kết nối chúng lại với nhau thành 1 chương trình hoàn thiện
Trong bước chuận bị đầu tiên, chúng ta đã kết nối
dữ liệu với SQL server, và đưa dữ liệu vào biến
“hienthi” kiểu DataTable và đổ vào DataGirViewer
Trang 23Code kết nối CSDL SQL Server
‘khai báo các biến
Public ketnoi As New SqlConnection()
Public kq_truyvan As New SqlDataAdapter
Public hienthi As New DataTable
Chú ý: biến hiện thị sẽ dùng để chứa kết quả là các dòng và cột Biến này sẽ dùng cho việc hiện thị lên DataGridViewr và đổ vào DataTable của report
Trang 24 ketnoi.ConnectionString = "
server=ANH-PC\SQLEXPRESS;database=vd;trusted_connection=true;uid=;pwd="
Trang 25Code đưa kết quả vào table của report
' Nap du lieu cho report
Dim myreport As New CrystalReport1
myreport.SetDataSource(hienthi)
'Nap form trong report
Dim f As New Form2
f.CrystalReportViewer1.ReportSource = myreport
f.Show()
Trang 26Kết quả cuối cùng
Trang 27Question and repont