Bài giảng Lập trình trên môi trường Windows - Chương 7: Thiết kế Báo cáo - Crystal report - Dương Thành Phết

2.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.8 2.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

pdf30 trang | Chia sẻ: thanhle95 | Lượt xem: 886 | Lượt tải: 1download
Bạn đang xem trước 20 trang tài liệu Bài giảng Lập trình trên môi trường Windows - Chương 7: Thiết kế Báo cáo - Crystal report - Dương Thành Phết, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
1 Chương 7: THIẾT KẾ BÁO CÁO-CRYSTAL REPORT LẬP TRÌNH WINDOWS  Giảng Viên: ThS. Dương Thành Phết  Email: phetcm@gmail.com – YahooID: phetcm  Website:  Tel: 0918158670 2 NỘI DUNG 1. Giới thiệu CrystalReport 2. Report Design Environment 3. Crystal Reports Object Model 4. Kết xuất báo cáo 5. Export và Print 3 1. GIỚI THIỆU CRYSTAL REPORTS  Crystal Report là gì ?  Đặc điểm của Crystal Report:  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 4 2.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 5 2.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 6 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 Page 1 Page 2 2. REPORT DESIGN ENVIRONMENT 7 2.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. 8 2.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 9 3.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. Dynamic Report Thay đổi bằng cách nào? ReportDocument và CrystalReportViewer 3. CRYSTAL REPORTS OBJECT MODEL 10 3.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 11 3.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 PrintOptions SummaryInfo ReportOptions: ho phép bạn truy cập thông tin liên quan đến các tùy chọn báo cáo trong một báo cáo 3. CRYSTAL REPORTS OBJECT MODEL 12 3.2 ReportDocument PrintOptions: Cung cấp những thuộc tính và phương thức để thiết lập các tùy chọn liên quan đến in ấn ReportDocumnet Database DataDefinition Sơ đồ lớp ReportDefinition ReportOptions ExportOptions PrintOptions SummaryInfo ExportOptions: Cung cấp những thuộc tính dùng để thiết lập các tùy chọn cho việc export một báo cáo SummaryInfo: Cho phép bạn truy cập thông tóm tắt hoặc tổng kết trong một báo cáo 3. CRYSTAL REPORTS OBJECT MODEL 13 3.3 CrystalReportViewer CrystalReportViewer control dùng để Preview Report Sơ đồ lớp CrystalReportViewer LogonInfo: Cung cấp các thuộc tính cho việc truy lại và thiết lập các tùy chọn kết nối. ParameterFieldInfo: 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 Demo 14 4. 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 ...) 15 Khi 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 16 Thuộ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 17 Mỗ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 18 Class Diagram 4. KẾT XUẤT BÁO CÁO 19 Mô 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 20 Sử 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 21 Sử 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 22 4. KẾT XUẤT BÁO CÁO Demo 23 5. 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 24 5.1. Xuất báo cáo thông qua Viewer  Ra máy in 5. EXPORT VÀ PRINT 25  Ra tập tin Các kiểu file mà CrystalReport hổ trợ kiết xuất 5. EXPORT VÀ PRINT 26 5.2. Xuất báo cáo thông qua lập trình  Ra máy in Lớp ReportDocument cung cấp hàm PrintToPrinter dùng để in báo cáo từ máy in mặc định. Có 4 tham số: Số bản in, collation flag (boolean), trang bắt đầu, trang kết thúc. 5. EXPORT VÀ PRINT 27 Stt 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ề chuỗi rỗng nếu máy in mặc nhiên được dùng. 5. EXPORT VÀ PRINT 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 kết xuất. Trong đó các hằng enumeration ExportFormatType: Stt Dạng thức File mở rộng Enumeration Constant 1 Adobe Acrobat .PDF PortableDocFormat 2 Rich Text Format .RTF RichText 3 HTML 3.2 .HTM/.HTML HTML32 4 HTML 4.0 .HTM/.HTML HTML40 5 Microsoft Word .DOC WordForWindows 6 Microsoft Excel .XLS Excel 5. EXPORT VÀ PRINT 29 Ví dụ: 5. EXPORT VÀ PRINT 30