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
30 trang |
Chia sẻ: thanhle95 | Lượt xem: 836 | Lượt tải: 1
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