2008-09-15 16 views

Trả lời

6

Một trong những điều tôi muốn trong báo cáo của mình là có tiêu đề tốt cho báo cáo của mình. Tôi muốn có biểu tượng và thông số báo cáo của người dùng cùng với các dữ liệu khác để hiển thị để cung cấp thêm thông tin cho doanh nghiệp cần báo cáo cần làm rõ. Một trong những điều mà Microsoft SQL Server 2005 Reporting Services không thể thực hiện được là hiển thị dữ liệu từ một Tập dữ liệu trong phần đầu trang. Bài đăng này sẽ giải thích cách làm việc này và dễ dàng như thế nào.

Tạo dự án máy chủ báo cáo trong phần Dự án kinh doanh thông minh và gọi nó là AdventureWorksLTReports. Tôi sử dụng cơ sở dữ liệu mẫu AdventureWorksLT từ CodePlex.

alt text http://www.cloudsocket.com/images/image-thumb.png

Tiếp theo hiển thị tiêu đề trang bằng cách nhấp chuột phải vào khu vực Báo cáo với nhà thiết kế.

alt text http://www.cloudsocket.com/images/image-thumb1.png

Tiêu đề trang sẽ xuất hiện. Nếu bạn muốn hiển thị Chân trang của trang này, bạn có thể truy cập vào Trình đơn trang này từ cùng một menu với Tiêu đề trang.

alt text http://www.cloudsocket.com/images/image-thumb2.png

Tôi tạo ra một stored procedure mà trả về dữ liệu cho các đơn đặt hàng sẽ được trình bày trong trang Header. Tôi sẽ hiển thị các thông tin sau đây về thứ tự bán hàng trong trang Header:

  • thứ tự ngày
  • Sales Order Số
  • Công ty
  • Sales Person
  • Tổng Do

tôi tạo một TextBox cho mỗi trường dữ liệu của tôi trong Tiêu đề trang cùng với một TextBox cho nhãn tương ứng. Không thay đổi các biểu thức trong textbox mà bạn muốn dữ liệu bán hàng theo thứ tự.

alt text http://www.cloudsocket.com/images/image-thumb3.png

Trong Body Báo cáo, đặt một TextBox cho mỗi trường dữ liệu cần thiết trong trang Header.Trong Visibility cho mỗi TextBox, chọn True cho Hidden. Đây sẽ là trình giữ chỗ cho dữ liệu cần thiết trong Tiêu đề trang.

alt text http://www.cloudsocket.com/images/image-thumb4.png

Báo cáo của bạn sẽ trông giống như ảnh chụp màn hình hiển thị bên dưới.

alt text http://www.cloudsocket.com/images/image-thumb5.png

Bước cuối cùng và quan trọng nhất là để tham khảo các Hidden TextBox trong textbox nằm ở trang Header. Chúng tôi sử dụng các biểu thức sau đây để tham khảo các textbox cần thiết:

= ReportItems .Value

Báo cáo của bạn bây giờ sẽ trông tương tự như sau:

alt text http://www.cloudsocket.com/images/image-thumb6.png

Báo cáo của bạn xem trước bây giờ sẽ có dữ liệu Tiêu đề đơn đặt hàng trong tiêu đề báo cáo.

alt text http://www.cloudsocket.com/images/image-thumb7.png

+1

Bạn có thể cập nhật liên kết đến hình ảnh của mình để chúng không bị hỏng không? –

4

Bạn phải thực hiện điều đó thông qua Tham số. Thêm một tham số cho từng phần dữ liệu bạn muốn hiển thị, sau đó đặt tham số thành Ẩn. Sau đó đặt giá trị mặc định thành "Từ truy vấn" và đặt trường Tập dữ liệu và Giá trị thành các giá trị thích hợp.

0

Dưới đây là hai thể cách giải quyết:

  1. Bạn có thể đặt lĩnh vực databound trong cơ thể của báo cáo như một textbox ẩn, và sau đó ở nơi tiêu đề khác textbox với giá trị của nó chỉ vào cái ẩn trong cơ thể.

  2. Hãy thử sử dụng thông số báo cáo để lưu trữ dữ liệu và sử dụng các thông số đó để truy cập dữ liệu trong tiêu đề.

0

Kỹ thuật này sẽ không hoạt động nếu báo cáo của bạn kéo dài trên nhiều trang, sử dụng truy vấn các thông số thay vào đó, và thiết lập giá trị textbox để = Các thông số! Name.Value theo this article.

+0

Nó hoạt động rất tốt, tôi làm điều đó trong các báo cáo dài bao trùm nhiều trang Những gì bạn cần làm là xem nơi bạn đặt trường giữ chỗ, tôi sử dụng bảng để hiển thị dữ liệu dạng bảng và tạo cột bổ sung mà tôi ẩn. không có vấn đề gì cả. – neslekkiM

+0

Điều này không hoạt động nếu bảng không kéo dài tất cả các trang trong báo cáo. – AaronSieb

0

Tôi đang sử dụng Orion Adrian tại đây. Thông số báo cáo là cách để đi.

1

Tôi nghĩ tùy chọn tốt nhất là tạo thông số nội bộ, với giá trị mặc định là trường dữ liệu bạn muốn hiển thị.

0

Tôi muốn hiển thị trường, chung cho tất cả các hàng được trả lại, trong tiêu đề và cho trường hợp này, tôi đã tìm giải pháp bảng được liên kết (đặt bảng chứa trường trong phần nội dung và liên kết hộp văn bản trong tiêu đề cái bàn này).

Tôi đã làm điều đó bởi vì nếu bạn đang sử dụng giải pháp tham số và không có dữ liệu được trả về trường đang được đề cập, văn bản "Tham số bị thiếu giá trị" được hiển thị thay vì chỉ một bảng trống. Tôi cho rằng văn bản này sẽ gây nhầm lẫn cho người dùng (vì thông số này thậm chí không hiển thị).