Crystal Report - Nguyenchuongit

Menu Bỏ qua nội dung 11.28.14 by nguyenchuongit

Thay đổi giá trị TextObject trong Crystal Report

Thông thường để linh động hơn trong báo cáo. Người ta không cố định nội dung trong Report Header, Report Footer, Page Header, Page Footer trong một vài trường hợp. Mà thay đổi theo từng báo cáo. Vậy làm thế nào để thay đổi nội dung của TextObject trong các phần này.

Hầu hết để làm việc với Crystal Report người ta dùng 3 đối tượng sau:

CrystalDecisions.CrystalReports.Engine CrystalDecisions.ReportSource CrystalDecisions.Shared

Vì vậy để thay đổi nội dung TextObject ta cũng sẻ sử dụng các đối tượng này để làm việc. Cụ thể để thay đổi nội dung TextObject ta làm như sau.

crtProductList report = new crtProductList(); ((CrystalDecisions.CrystalReports.Engine.TextObject)report.ReportDefinition.ReportObjects [“TextObject Name”]).Text = “Your Text Here”;

Một điều cần lưu ý là dòng code này cần được thực hiện trước khi hiển thị lên CrystalReportViewer

Dòng tự tăng trong Crystal Report(Auto Grow)

Thông thường khi tạo báo cáo. Không gian hiển thị thường cố định(đây là mặt định của Crystal Report). Chính sự  cố định không gian hiển thị này làm cho báo cáo không được đẹp hay mất nội dung khi gặp phải dữ liệu lớn(vượt quá phạm vi hiển thị). Vậy giả quyết vấn đề này bằng cách nào. Rất đơn giản, ta chỉ cần tự động tăng số dòng hiển thị trong Crystal Report cho phù hợn với dữ liệu. Hiện tại  Crystal Report đã hổ trợ tất cả, ta chỉ việc thay đổi các giá trị mặt định là xong.

Đầu tiên Click phải lên đối tượng cần Auto Grow và Chọn Format Object. Trong hộp thoại Format Object ta chọn cửa sổ Common. Click chọn Can Grow. Nhập số dòng tự tăng nếu muốn vào “Maximum number of lines”. Mặt đinh là 0(0 là không giớ hạn số dòng). Cuối cùng là Click “OK”. Vậy là xong(Xem hình dưới để hiểu rỏ hơn).

Đôi khi báo cáo không chỉ bao gồm các TextObject mà còn bao gồm các LineObject. Vậy làm thế nào các Line Object này tự động tăng kích thước chiều cao cho phù hợp với TextObject. Rất đơn giản, làm giống như TextObject

Đầu tiên Click phải vào đối tượng cần tự động tăng chiều cao. Chọn Format Object. Click chọn Extend to the Botton of Section when Printing. Cuối cùng Chọn “OK”. Vậy là xong(Xem hình dưới để hiểu rỏ hơn).

Và một điều cần chú ý: hiện tại Crystal Report chưa hổ trợ Columns Grow(tự động tăng kích thước trường hiển thị).

Lưu báo cáo dạng Word, Excel, PDF, RTF, HTML

Crystal Report được dùng phổ biến trong nhiều chương trình từ Window cho tới Web và cho nhiều công việc khác nhau. Tuy nhiên đôi khi nhu cầu người dùng không chỉ xem báo cáo trên máy, mà cần phải gởi đi, hay họ cần lưu dười dạng tập tin *.DOC, *.XLS, *.PDF…

Trong bài này tôi sẻ hướng dẫn cách lưu Crystal Report thành tập tin. Cụ thể là WindWord, Excel, PDF. Và bạn cũng dể dàng lưu với định dạng khác theo cách tương tự.

Bước 1: Tạo Crystal Report có tên crtProductList.rpt như hình dưới(phần này tôi không hướng dẫn vì có nhiều bài viết về cách tạo tập tin Crystal Report rồi). Trong crtProductList.rpt này tôi sử dụng bảng Products của CSDL Northwind.

Bước 2: Đổ dữ liệu vào Crystal Report

crtProductList report = new crtProductList(); report.SetDataSource(GetListObject());

Với GetListObject() là hàm có chức năng lấy dữ liệu tương ứng với các trường dữ liệu từ CSDL.

Bước 3: Xuất Crystal Report theo định dạng mong muốn. Hầu hết các chức năng đã được Crystal Report hỗ trợ sẳn. Vì vậy ta chỉ cần dùng mà không cần viết thêm gì cả. –   Xuất Crystal theo định dạng Windword: Đơn giả ta chỉ cần sử dụng đoạn code sau.

report.ExportToDisk(CrystalDecisions.Shared.ExportFormatType.WordForWindows, "C:\\Product.doc");

–    Xuất Crystal theo định dạng Excel: Giốn như đoạn Code trên ta chỉ việc thay ExportFormatType.WordForWindows thành ExportFormatType.Excel

report.ExportToDisk(CrystalDecisions.Shared.ExportFormatType.Excel, "C:\\Excel.xls");

–    Xuất Crystal theo định dạng PDF: Tương tự như trên thay ExportFormatType.WordForWindows thành ExportFormatType.PortableDocFormat

report.ExportToDisk(CrystalDecisions.Shared.ExportFormatType.PortableDocFormat, "C:\\Product.pdf");

Làm tương tự cho các định dạng khác. Hiện tại Crystal Report hỗ trợ các định dạng sau: CharacterSeparatedValues(*.CSV) CrystalReport(*.RPT) EditableRTF Excel(*.XLS) ExcelRecord(*.XLS) ExcelWorkbook HTML32 HTML40(*.HTML) NoFormat PortableDocFormat(*.PDF) RichText(*.RTF) RPTR(*.RPTR) TabSeperatedText Text(*.txt) WordForWindows(*.DOC) Xml(*.XML)

Tuy nhiên khi lưu báo cáo dạng tập tin ta cần dùng thêm một số đối tượng khác để định dạng trang in như: ExportOptions, EditableRTFExportFormatOptions, DiskFileDestinationOptions. Cụ thể ta sử dụng đoạn code sau để in trang số 2 của Crystal Report

EditableRTFExportFormatOptions formatOption = new EditableRTFExportFormatOptions(); formatOption.FirstPageNumber = 2; formatOption.LastPageNumber = 2; formatOption.InsertPageBreaks = true; formatOption.UsePageRange = true; DiskFileDestinationOptions diskfile = new DiskFileDestinationOptions(); diskfile.DiskFileName = "C:\\Product.pdf"; ExportOptions option = new ExportOptions(); option.ExportFormatOptions = formatOption; option.ExportFormatType = ExportFormatType.PortableDocFormat; option.ExportDestinationType = ExportDestinationType.DiskFile; option.ExportDestinationOptions = diskfile; report.Export(option);

Chia sẻ:

  • X
  • Facebook
Thích Đang tải...

Có liên quan

Điều hướng bài viết Thông báo..!

Bình luận về bài viết này Hủy trả lời

Δ

Thư viện

  • Tháng Mười Một 2014
  • Tháng Chín 2014
Meta
  • Tạo tài khoản
  • Đăng nhập
  • Bình luận
  • Đăng lại
  • Theo dõi Đã theo dõi
    • nguyenchuongit
    • Theo dõi ngay
    • Đã có tài khoản WordPress.com? Đăng nhập.
    • nguyenchuongit
    • Theo dõi Đã theo dõi
    • Đăng ký
    • Đăng nhập
    • URL rút gọn
    • Báo cáo nội dung
    • Xem toàn bộ bài viết
    • Quản lý theo dõi
    • Ẩn menu
Đang tải Bình luận... Viết bình luận ... Thư điện tử (Bắt buộc) Tên (Bắt buộc) Trang web %d Tạo trang giống vầy với WordPress.comHãy bắt đầu

Từ khóa » Khai Báo Biến Trong Crystal Report