tôi sử dụng pha lê . Tôi sẽ phác thảo phương pháp của tôi một thời gian ngắn, nhưng lưu ý rằng tôi là một cửa hàng một người và nó có thể không dịch sang môi trường của bạn.
Trước tiên, hãy tạo biểu mẫu với Trình xem CR. Sau đó:
1) Tìm ra dữ liệu bạn cần và tạo chế độ xem để truy xuất các cột mong muốn. 2) Tạo báo cáo Crystal mới bằng cách sử dụng trình hướng dẫn cho xem làm nguồn dữ liệu. 3) Kéo, thả, chèn, xóa và bất kỳ thứ gì để làm thô báo cáo của bạn thành hình dạng. Vâng, nó tẻ nhạt. 4) Tạo nút bấm cần thiết hoặc bất kỳ thứ gì và tạo chức năng để tạo báo cáo. 5) Truy xuất dữ liệu vào một DataTable (có thể trong một DataSet). Bạn không phải sử dụng chế độ xem. 6) Tạo đối tượng báo cáo. Đặt DataTable làm DataSource. Chỉ định đối tượng báo cáo cho Trình xem CR. Đây là một phần trong đó có những ví dụ.
Nhận xét:
Nếu bạn mất cửa sổ với trường cơ sở dữ liệu, v.v. (Field Explorer), hãy chuyển đến Xem/phác thảo tài liệu. (Đó là tưởng tượng của tôi để có Bill Gates trên sân khấu và yêu cầu anh ta tìm thấy nó.)
Lý do thiết lập chế độ xem là nếu bạn muốn thêm cột, bạn sửa lại chế độ xem và Trình khám phá trường sẽ cập nhật tự động. Tôi đã có tất cả các loại rắc rối làm theo cách khác. Phương pháp này cũng là một công việc xung quanh cho một lỗi đòi hỏi phải quét qua tất cả các bảng đặt lại bảng mà họ trỏ đến. Bạn muốn đưa cho Crystal một cái bàn duy nhất. Bạn không muốn cố gắng để có được Crystal để tham gia bàn, vv Tôi không nói nó không hoạt động; Tôi nói nó khó hơn.
Có (hoặc là) tài liệu cho việc triển khai VS của Crystal trên trang web Đối tượng kinh doanh, nhưng tôi tin rằng nó đã biến mất sau màn hình đăng ký/đăng nhập. (Tôi có thể tự mình biết thêm thông tin về điều đó.)
Tôi đã gặp khó khăn khi ngắt trang Pha lê khi muốn, và không ngắt trang khi tôi không muốn, v.v .. Nó cách xa người viết báo cáo tốt nhất tôi đã từng sử dụng và tôi không hiểu tại sao dường như đã khiến nhiều người khác phải kinh doanh. Ngoài ra, các chính sách cấp phép của họ rất khó để giải quyết trong một tổ chức nhỏ và linh hoạt.
Edited để thêm ví dụ:
AcctStatement oRpt = new AcctStatement() ;
oRpt.Database.Tables[0].SetDataSource(dsRpt.Tables[0]);
oRpt.SetParameterValue("plan_title",sPlanName) ;
crViewer.ReportSource = oRpt ;
Tôi đã tìm thấy một cách tốt hơn, đơn giản hơn ... http://arcanecode.com/2009/02/09/using-a-local-reporting-services-2008-report-with-an-adonet-data- set/# comment-27511 – Piku