2009-02-20 33 views
9

Tôi có báo cáo RDLC và muốn một trong các cột trong bảng trên báo cáo này hiển thị hình ảnh. Nguồn dữ liệu cho báo cáo của tôi là một lớp có thuộc tính được gọi là Hình ảnh thuộc loại System.Drawing.Image.Cách hiển thị hình ảnh trên báo cáo RDLC

On báo cáo của tôi, tôi kéo một điều khiển hình ảnh vào cột và tôi đặt các thuộc tính sau:

MIMEType: image/png 
Source: Database 
Value: =Fields!Image.Value 

Khi tôi chạy báo cáo của tôi, tôi nhận được một hình ảnh bị hỏng.

Tôi thực sự đánh giá cao bất kỳ đề xuất nào!

Cảm ơn trước: o)

Trả lời

10

Tôi không biết đây có phải là giải pháp tốt nhất hay không, nhưng tôi đã làm việc đó. Có vẻ như vấn đề đang xảy ra khi sử dụng System.Drawing.Image.

Trong lớp học của mình, tôi đã tạo một thuộc tính mới có tên là ImageByte loại byte []. Tôi đã không làm cho một setter cho ImageByte, nhưng tôi đã thực hiện một getter nào sau đây:

MemoryStream ms = new MemoryStream(); 
Image.Save(ms, System.Drawing.Imaging.ImageFormat.Png); 
return ms.ToArray(); 

tôi cập nhật báo cáo của tôi có = Fields ImageByte.Value cho giá trị gia tăng và bây giờ tất cả mọi thứ dường như được làm việc như dự kiến: o)

4

Trước hết, bạn phải mất một mẫu mới trong dự án của bạn vào tải sự kiện bạn Wright dòng này dưới đây:

reportViewer1.LocalReport.EnableExternalImages = true; 

Sau đó lấy ReportViewer trên trang đó và đặt thẻ thông minh đó, chọn thiết kế một báo cáo mới và kiểm soát hình ảnh trên nó từ ToolBox, thiết lập thuộc tính của nó

Source = External Value = file:\D:Images\Sunset.jpg 

Lưu ý: Hình ảnh (Sunset.jpg) được lưu trong thư mục Hình ảnh trên ổ đĩa D. Bạn đã thay đổi nó theo yêu cầu của bạn.

Các vấn đề liên quan