Trang 1 trên 1

[.Net] Tìm hiểu và thao tác với Crystal Report

Đã gửi: T.Sáu 11/04/2008 8:36 pm
gửi bởi anhtuyenbk
Tên bài viết: Tìm hiểu và thao tác với Crystal Report
Tác giả: Nguyễn Anh Tuyên
Cấp độ bài viết: Cơ bản
Tóm tắt: Tìm hiểu và thao tác với Crystal Report


Crystal Reports


Crystal Reports là một trong những phần mềm hàng đầu để tạo ra các report tương tác, nó được tích hợp rộng rãi vào ứng dụng Windows và Web. Với hơn 4 triệu licenses được bán, nó dẫn đầu trong các cách tạo ra Report cho Windows. Crystal Report đã được sử dụng trong VS từ 1993 nhưng với sự ra mắt của VS. Net 2002 thì phiên bản mới Crystal Reports .NET ra đời và được tích hợp vào VS. Net.
Từ VS.Net 2003 trở đi thì Crystal Report đã được tích hợp vào trong VS. Net (nó là 1 phần của VS) và là Crystal Report Net (tuy nhiên phần tích hợp có 1 số tính năng bị cắt giảm) nhưng không ảnh hưởng nhiều lắm đến những nhu cầu bình thường.
Hình ảnh
Hình ảnh
:D :D chắc các bạn đã từng rất đau đầu khi phải đụng tới cái này vì tài liệu về nó quả là ít (nhất là tiếng việt) . Và mình cũng thế, khi bắt tay vào cái này mình đã search rất nhiều nhưng ko tìm thấy tài liệu tiếng việt nào. May mắn thay cuối cùng mình cũng tìm thấy 1 cuốn tiếng Anh, tuy nhiên thật ko dễ dàng để hiểu được nó. :(
Bài viết này là thành quả mà mình thu lượm được từ quá trình học hỏi và đúc kết lại những gì là cần thiết nhất để sử dụng được Crytal Report.

I. Các khái niệm nền tảng về Crystal Report.

1. Report Section
Một Crystal Report thì bao gồm nhiều section khác nhau. Mỗi section là tập hợp các thuộc tính được thể hiện như các hành vi. Ví dụ: page header sẽ xuất hiện ở trên đầu của mỗi trang.
Hình ảnh

Để xem thuộc tính của một section ta chọn Report--> Section Expert. Bạn có thể chọn Suppress nếu ko muốn một section nào đó xuất hiện.

Hình ảnh

2. Các section chuẩn
Report Header : Xuất hiện trên cùng của trang đầu tiên của report và thường được bị ẩn đi. Nó có thể được dùng để chỉ ra điểm bắt đầu của 1 report mới hay dùng để bao bọc.
Report Footer : Xuất hiện ở cuối của trang cuối cùng của report, mặc định được hiển thị, có thể dùng để tóm tắt cho report (Số record, ngày...)
Page Header : Xuất hiện trên cùng của mỗi trang và dùng để hiển thị column header, tựa của report, và đếm số trang, giữa những item khác.
Page Footer : Xuất hiện ở cuối mỗi trang và dùng để hiển thị số trang, ngày in, thời gian ...
Group Header : Xuất hiện ở đầu mỗi nhóm và dùng để hiển thị tên nhóm.
Group Footer : Xuất hiện ở cuối của 1 nhóm record và dùng để hiển thị tên nhóm, subtotal và tóm tắt
Details Section : Có một cho mỗi record trong report của bạn. Chúng thường được dùng để hiển thị thông tin về column và có thể mở rộng để bao đóng một số section của field để tạo form.

3. Field Objects:
Chứa đựng đa số nội dung của report. Từ những field hiển thị reocord, đến text object mô tả mỗi column hay summary field cung cấp tổng số, bất kỳ report nào đều là một tập hợp của Field object
Hình ảnh
Có 8 kiểu khác nhau của field objects được add vào report.

4. Database Fields
Database field có thể được chèn vào từ bất kỳ bảng nào và nó sẽ xuất hiện trong report. Field này chính là nơi mà dữ liệu sẽ hiển thị

5. Text Objects
Được sử dụng để nhập text như column heading và comments.
Text objects are used in a report for typing text that will appear in that report, such as the column headings. Khi bạn đã nhập xong thì bạn click vào bất kỳ nơi nào bên ngoài để thoát khỏi edit mode.

6. Special Fields
Là những field được xác định trước với những chức năng xác định.
Print Date Ngày tháng mà report được in
Print Time Thời gian mà report được in
Modification Date : Ngày tháng mà report được sửa lần cuối
Modification Time : Thời gian mà report được sửa lần cuối
Data Date : Date mà data được đọc từ database
Data Time : Time mà data được đọc từ database
Record Number : Số record tuần tự được gán vào cho tất cả record trả về cho report
Page Number : Số trang
Group Number : Số tuần từ đuóc gán vào tất cả các nhóm
Total Page Count : Tổng số trang
Report Title : Tựa của Report, được save lại trong phần tóm tắt của file report
Report Comments : Comment được nhập vào thông tin summary
Record Selection Formula : Record Selection Formula được dùng cho report
Group Selection Formula : The group selection formula được dùng cho report
File Path and Name : của report file
File Author : Tác giả của report từ report file’s Summary Information
File Creation Date : The date the report file được tạo ra
Page N of M : N là trang hiện tại và M là tổng số trang.

7. Summary Fields
Summary fields thường được dùng với nhóm trong report.
Subtotal và summary fields thì tương tự nhau nhưng subtotal đặc trưng như là 1 phép cộng sum, ngược lại summary field có thể là sum, average hay độ lệch tiêu chuẩn

8. Formula Fields
Được bao bọc trong cặp ngoặc nhọn {} và đứng trước nó là ký tự @
{@SalesTax} + {@InvoiceTotal}
Formula fields được tạo ra bằng cách sử dụng Formula editor tích hợp.
Hình ảnh

9. Parameter Fields
Được sử dụng để cho user nhập thông tin vào khi report run. Parameter có thể được sử dụng theo 1 số cách khác nhau, từ dạng đơn giản (như nhập tên của một user để hiển thị lên report ) đến chọn lựa record (lọc nội dung).
Parameter field được thiết kế với 1 cặp ngoặc nhọn {} và đứng trược tên nó là ?
If {?EnterCountry} = “USA” then “North America”
Có 7 kiểu khác nhau : Boolean, Currency, Date, Date Time, Number, String, Time.
Hình ảnh

10. SQL Expression Fields
Để làm hầu hết mọi công việc trên Database server của bạn, ta dùng SQL Expression Fields thay vì Crystal Formulas. Việc sử dụng SQL Expression sẽ đảm bảo tính toán sẽ được thực hiện trên Server database của nó, và cho bạn truy cập các function của SQL.
To create a SQL Expression, right-click SQL Expression Fields in Field Explorer, select New, enter a
name, and select OK.

11. Unbound Fields
Sử dụng field này , bạn sẽ tạo ra được một report chung và có thể lập trình thiét lập nội dung của nó lúc runtime.
Có 7 kiểu khác nhau : Boolean, Currency, Date, Date Time, Number, String, Time.

Re: [Net]***Tìm hiểu và thao tác với Crystal Report

Đã gửi: T.Bảy 12/04/2008 11:25 am
gửi bởi anhtuyenbk
Hình ảnh

Re: [.Net] Tìm hiểu và thao tác với Crystal Report

Đã gửi: T.Bảy 26/04/2008 8:45 am
gửi bởi vbthathay
bài viết của bạn rất tuyệt mong bạn tiếp tục chia sẻ nhé
mình đang tìm hiểu cái .net mà thấy ái ngại quá

Re: [.Net] Tìm hiểu và thao tác với Crystal Report

Đã gửi: T.Sáu 18/07/2008 9:58 am
gửi bởi daitn
anhtuyenbk có thể nói rỏ hơn phần Parameter Fields và SQL không, nói chung là nói càng rõ càng tốt, có thêm ví dụ minh họa thì càng good

Re: [.Net] Tìm hiểu và thao tác với Crystal Report

Đã gửi: T.Sáu 18/07/2008 11:12 am
gửi bởi anhtuyenbk
Một ví dụ C#

Re: [.Net] Tìm hiểu và thao tác với Crystal Report

Đã gửi: T.Hai 28/07/2008 2:37 pm
gửi bởi daitn
Cám ơn đã chia sẻ, mặc dù code C# mình đọc kô hiểu nhiều cho lắm. :D :)
Mình đang nghiên cứu cái này, nên rất quang tâm, đã đọc rất nhiều sách về Crystal Report.....
Có nhiều cái cũng hay lắm, hy vọng sớm được trao đổi kinh nghiệm. :)
Mình có chạy thử cái file đính kèm rồi. Có phải bạn làm Param kô ( chưa mở code lên xem, vì đang ở hàng net), còn cái Formula và SQL thì sao nhỉ. :-? Mình đang tìm hiểu về Param, ví dụ như không cần phải chọn Param cần in mà là lấy từ trên Form luôn.
Ví dụ như ta có Bản HOA_DON, và muốn IN cái hóa đơn đó theo như số hóa đơn có trong txtSoHD trên form frmHoaDon mà kô cần chọn cái số hóa đơn đó như trong ví dụ của anhtuyenbk
Theo mình tìm hiểu hổm rài thì cái Param đó là những cái mặc định lấy từ trong Table khác vào. Nếu như mình thêm vào hay xóa đi thì hên xui, kô biết nó còn OK nữa hay không.
Hẹn lần sau nói tiếp, đang tìm hiểu nên chưa nói trước được điều gì. :(( @-)

Re: [.Net] Tìm hiểu và thao tác với Crystal Report

Đã gửi: T.Ba 30/09/2008 2:18 pm
gửi bởi thuytrang2542000
anhtuyenbk có thể nói 1 ít về cách định dạng cho formula fields không . Ví dụ như mấy cái field số đó . Mình làm thì số 1 nó lại hiển thị thành 1.00 .

Re: [.Net] Tìm hiểu và thao tác với Crystal Report

Đã gửi: T.Tư 08/10/2008 12:48 pm
gửi bởi thuytrang2542000
daitn đã viết:Mình đang tìm hiểu về Param, ví dụ như không cần phải chọn Param cần in mà là lấy từ trên Form luôn. Ví dụ như ta có Bản HOA_DON, và muốn IN cái hóa đơn đó theo như số hóa đơn có trong txtSoHD trên form frmHoaDon mà kô cần chọn cái số hóa đơn đó như trong ví dụ của anhtuyenbk


Đây là 1 ví dụ theo cách "truyền thống" mình thường làm nè :D . Cái này cũng tự phá thôi, thấy cũng ra đúng nhưng mà hem biết là có đúng thiệt hem :)) , mọi người coi ròi cho ý kiến nha .

Re: [.Net] Tìm hiểu và thao tác với Crystal Report

Đã gửi: CN 21/06/2009 1:34 am
gửi bởi kimkillua8x
Tớ cũng mới tham gia vào diễn đàn, cái này là tớ làm, mong các bạn tham khảo nhé, có gì thì gửi mail qua : kimmegatrone@gmail.com

Re: [.Net] Tìm hiểu và thao tác với Crystal Report

Đã gửi: T.Ba 07/02/2012 9:15 pm
gửi bởi OKMimo
cho mình hỏi: nếu đem exe đi các máy khác thì phải đem theo những cái gì để crystalreport mới có thể hiển thị được? cảm ơn các bạn.