Archive for Tháng tám, 2007

Tạo báo cáo động với Crystal Reports trên VS 2005

Posted in Visual Studio 2005 on Tháng tám 9, 2007 by Phạm Quang Hoà

Thông thường các báo cáo được thiết kế cố định các trường dữ liệu được hiển thị cũng như số lượng trường được hiển thị. Trong một số trường hợp, cần phải cho phép người dùng lựa chọn các trường cần đưa ra báo cáo và thứ tự các trường đó. Trong trường hợp này cần phải tạo báo cáo động.

Crystal Reports nói chung không hỗ trợ báo cáo động. Tuy nhiên, có thể tạo các báo cáo động thông qua một số kỹ thuật. Trong bài này, tôi giới thiệu một kỹ thuật tạo báo cáo động, đó là sử dụng Formula Fields.

Một số bước quan trọng để tạo một báo cáo động, đó là:

Bước thiết kế báo cáo:

  1. Khi thiết kế báo cáo, vẫn sử dụng nguồn dữ liệu bình thường, nhưng không đưa bất kỳ một trường nào vào phần Detail.
  2. Thêm vào báo cáo một vài Formula Field (thông thường bằng số lượng trường trong bảng).
  3. Đưa các Formula Field vào phần Detail.

Bước viết mã:

  1. Xác định các trường cần đưa ra và đưa vào trường Text của các Formula Field dưới dạng {TableName.Field}.
  2. Đặt vị trí, độ rộng, tiêu đề cho các trường cần đưa ra. 
  3. Ẩn hoặc đặt độ rộng các trường không đưa ra.

Để tìm hiểu sâu hơn về các lệnh thao tác đối với báo cáo, có thể xem thêm trong chương trình minh hoạ. Chương trình minh hoạ có tên là DynReports, viết bằng ngôn ngữ C# trên nền Visual Studio 2005, sử dụng cơ sở dữ liệu SQL Server.

image

(Nhấn vào để xem hình đầy đủ)

Chương trình minh hoạ khá đơn giản, mới chỉ dừng lại ở chức năng tạo báo cáo động. Các tính năng như tính toán độ rộng các trường, định dạng dữ liệu hiển thị, kẻ bảng… chưa được đưa vào chương trình.

Download: Mã nguồn chương trình.