Bài giảng Lập trình trên môi trường Window - Chương 7: Thiết kế báo cáo cung cấp cho người học các kiến thức: Giới thiệu crystalreport, report design environment, crystal reports object model, kết xuất báo cáo, kết xuất báo cáo. Mời các bạn cùng tham khảo nội dung chi tiết.
Trang 1Chương 7:
THIẾT KẾ BÁO CÁO-CRYSTAL REPORT
Giảng Viên: ThS Dương Thành Phết
Email: phetcm@gmail.com – YahooID: phetcm
Website: http://www.thayphet.net
Trang 2NỘI DUNG
2 Report Design Environment
3 Crystal Reports Object Model
5 Export và Print
Trang 31 GIỚI THIỆU CRYSTAL REPORTS
Crystal Report là gì ?
Không cần mở một ứng dụng riêng rẽ
Truy cập được nhiều nguồn dữ liệu khác nhau
Chia sẻ sử dụng các bảng báo cáo
Là công cụ thiết kế báo cáo cho phép tạo báo cáo bằng cách tìm và định dạng dữ liệu từ một nguồn dữ liệu hay từ những nguồn dữ liệu khác nhau
Truy cập dữ liệu nguồn dễ dàng
Trang 42.1 Các thành phần của Report Designer
Field Explorer
Crystal Report Toolbox Report Designer
Crystal Reports - Insert
Crystal Reports - Main
2 REPORT DESIGN ENVIRONMENT
Trang 52.2 Các section của một báo cáo
Xuất hiện trên trang đầu tiên / trang cuối cùng của bảng báo cáo
Xuất hiện trên đầu / cuối mỗi trang
Xuất hiện vào đầu / cuối một nhóm mẫu tin
Xuất hiện các mẫu tin
2 REPORT DESIGN ENVIRONMENT
Trang 66
2.2 Các section của một báo cáo
Report Header Page Header 1
Page Footer 1
Group Header 1
Details Group Footer 1 Group Header 2
Details Group Footer 2
Page Header 2
Page Footer 2
Group Header 3
Details Group Footer 3 Group Header 4
Details Group Footer 4
Report Footer
2 REPORT DESIGN ENVIRONMENT
Trang 72.3 Các đối tượng trong Field Explorer
Database Fields: Chứa tất cả các field mà bạn đưa
vào báo cáo
Formula Fields: Dùng để đưa các tính toán phức tạp vào báo cáo
Parameter Fields: Dùng để nhắc nhở người dùng nhập vào các thông tin cần thiết đối với báo cáo đang chạy
2 REPORT DESIGN ENVIRONMENT
Running Total Fields: Dùng để tính toán dựa trên giá
trị các mẫu tin của một field khác
Trang 82.3 Các đối tượng trong Field Explorer
Group Name Fields: Thể hiện các nhóm đang được
sử dụng trong báo cáo
SQL Experssion Field: Đảm bảo việc tính toán của bạn được thực hiện trên sever
2 REPORT DESIGN ENVIRONMENT
Special Fields: Thể hiện các vùng mục tin đặc biệt như PrintDate, PrintTime, PageNumber…
Unbound Fields: Dùng tạo bản báo cáo generic rồi dùng lập trình cho đặt để nội dung các vùng mục tin này vào lúc chạy
Minh họa
Trang 93.1 Giới thiệu
Tiến trình thiết kế bản báo cáo:
- Liên kết data source
- Sắp đặt và định dạng các Report Object trên Report Designer
Static Report
Với Crystal Reports.NET, bạn có toàn quyền truy xuất
và thay đổi phần lớn các thuộc tính của bản báo cáo
Trang 103.2 ReportDocument
ReportDocumnet
Database DataDefinition
ReportDocument là lớp cơ sở đối với tất cả các báo cáo
Sơ đồ lớp
ReportDefinition ReportOptions ExportOptions
PrintOptions SummaryInfo
Database: Cung cấp những thuộc tính cho phép truy xuất thông tin liên quan đến cơ sở dữ liệu trong bản báo cáo
DataDefinition: Chứa tất cả các thông tin liên quan đến
dữ liệu được xử lý dựa trên dữ liệu nguồn của báo cáo
3 CRYSTAL REPORTS OBJECT MODEL
Trang 113.2 ReportDocument
ReportDefinition: Cho phép truy xuất thông tin của
các collection Areas, Sections và ReportObjects
ReportDocumnet
Database DataDefinition
Sơ đồ lớp
ReportDefinition ReportOptions ExportOptions
Trang 12Sơ đồ lớp
ReportDefinition ReportOptions ExportOptions
Trang 13ParameterFieldInfo: Cho phép bạn truy xuất và thay đổi thông tin của các tham số trong bản báo cáo
ReportSource: Dùng để thiết lập báo cáo nguồn cho viewer
3 CRYSTAL REPORTS OBJECT MODEL
Trang 144 KẾT XUẤT BÁO CÁO
Khi tạo một báo cáo Crystal Report, trình Report Designer sẽ yêu cầu người dùng chọn dữ liệu nguồn
Report Designer sẽ tự động lưu lại các định nghĩa (bao gồm đường dẫn nếu là file access và sever, database name nếu là SQL server )
Trang 15Khi có yêu cầu xem báo cáo, Crystal Report sẽ tự động lấy tham số đã được lưu sẵn truy cập đến bảng dữ liệu nguồn và thực hiện kết xuất báo cáo ra màn hình, máy
in hay tập tin
Vì vậy, khi có nhu cầu triển khai ứng dụng với CrystalReport, ta phải Gán lại lại các tham số để CrystalReport có thể truy cập đến dữ liệu nguồn
Thông tin truy cập dữ liệu nguồn
4 KẾT XUẤT BÁO CÁO
Trang 16Thuộc tính Database là tập hợp các bảng dữ liệu(Tables) dùng trong báo cáo và mối gắn kết (TableLinks)
Đối tượng Database của ReportDocument
4 KẾT XUẤT BÁO CÁO
Trang 17Mỗi bảng dữ liệu đều có những thuộc tính dùng để đặt để thông tin có ý nghĩa đối với việc kết nối với bảng dữ liệu
Đối tượng TableLogonInfo
4 KẾT XUẤT BÁO CÁO
Trang 18Class Diagram
4 KẾT XUẤT BÁO CÁO
Trang 19Mô tả thuộc tính đối tượng ConnectionInfo
Stt Tên thuộc tính Mô tả
1 DatabaseName Tên database của dữ liệu nguồn Đối với
MS Access là đường dẫn đến file mdb
2 Password Mật khẩu đăng nhập vào dữ liệu nguồn
3 ServerName Tên Server chứa dữ liệu nguồn Đối với
MS Access là đường dẫn đến file mdb
4 UserId Tên đăng nhập người dùng
4 KẾT XUẤT BÁO CÁO
Trang 20Sử dụng ReportDocument:
Đoạn code mô tả thay đổi thông tin kết nối của myReport Nội dung thay đổi gồm: DatabaseName, Password, ServerName, UserId
4 KẾT XUẤT BÁO CÁO
Trang 21Sử dụng CrystalReportViewer
Việc đặt thông tin kết nối sử dụng viewer control (CrystalReportViewer) cũng như đối tượng ReportDocument Nhưng viewer control không có hiểu các bảng dữ liệu trong một báo cáo
Collection TableLogOnInfo là đối tượng collection của viewer control Chúng ta sẽ tạo ra một đối tượng Table mới cho mỗi bảng dữ liệu và cho đặt các thông tin kết nội của đối tượng ConnectionInfo Sau đó, dùng hàm Add() để thêm bảng dữ liệu vào collection TableLogOnInfos
4 KẾT XUẤT BÁO CÁO
Trang 2222
4 KẾT XUẤT BÁO CÁO
Demo
Trang 235 EXPORT VÀ PRINT
Nhu cầu báo cáo là hiển thị thông tin dưới dạng văn bảng hoàn chỉnh Vì vậy, ngoài nhu cầu xem trên màn hình (Preview) thì còn có nhu cầu in báo cáo ra máy in, word, excel để làm tài liệu lưu trữ
Xuất báo cáo thông qua Viewer
Xuất báo cáo thông qua lập trình
Trang 245.1 Xuất báo cáo thông qua Viewer
Ra máy in
5 EXPORT VÀ PRINT
Trang 25 Ra tập tin
Các kiểu file mà CrystalReport
hổ trợ kiết xuất
5 EXPORT VÀ PRINT
Trang 265.2 Xuất báo cáo thông qua lập trình
Trang 27Stt Thuộc tính Mô tả
1 PageContentHeight Int32 Trả về chiều cao nội dung các trang tính theo twips
2 PageContentWidth Int32 Trả về chiều rộng nộ dung các trang tính theo twips
3 PageMargins PageMargins trả về hoặc đặt topMargin,bottomMargin,
leftMargin, rightMargin Sử dụng hàm ApplyPageMargins để thực hiện các thay đổi này
4 PaperOrientation PaperOrientation Trả về hoặc đặt chiều hướng giấy in trên máy in
hiện hành Các mục chọn là DefaultPaperOrientation, Landscape hoặc Portrait
5 PaperSize PaperSize Trả về hay đặt khổ giấy in trên máy in hiện hành.Bao
gồm: PaperA4, PaperLegal,PaperLetter
6 PaperSource PaperSource Trả về hay đặt nguồn cung cấp giấy in trên máy in
hiện hành Hổ trợ 13 khay giấy khác nhau gồm Auto(chọn tự động), Lower, Midder, Upper
7 PrinterDuplex PrinterDuplex Trả về hay đặt mục chọn duplex trên máy in hiện
hành Bao gồm các mục Default, Horizontal, Vertical,
8 PrinterName String Trả về hay đặt tên máy in mà báo cáo dùng đến Sẽ trả về
5 EXPORT VÀ PRINT
Trang 28 Ra tập tin
Lớp ReportDocument cung cấp hàm ExportToDisk Dùng để kết xuất ra tập tin và ghi lên đĩa Có 2 tham
số là ExportFormatType và đường dẫn tên tập tin cần
Stt Dạng thức File mở rộng Enumeration Constant
5 EXPORT VÀ PRINT
Trang 29Ví dụ:
5 EXPORT VÀ PRINT