Вопрос

У меня есть отчет RDLC, и я хотел бы, чтобы в одном из столбцов таблицы этого отчета отображались изображения.Источником данных для моего отчета является класс, который имеет свойство, называемое Image of type System.Drawing.Image.

В своем отчете я перетащил элемент управления изображением в столбец и установил следующие свойства:

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

Когда я запускаю свой отчет, я получаю поврежденное изображение.

Я был бы действительно признателен за любые предложения!

Заранее спасибо : о)

Это было полезно?

Решение

Я не знаю, лучшее ли это решение, но я заставил его работать.Похоже, проблема была в использовании System.Рисование.Изображение.

В моем классе я создал новое свойство с именем ImageByte типа byte[].Я не создавал сеттер для ImageByte, но я создал геттер, который выполняет следующее:

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

Я обновил свой отчет, чтобы в нем было =Fields!ImageByte.Значение для значения, и теперь, похоже, все работает так, как ожидалось: o)

Другие советы

Во-первых, вы создаете новую форму в своем проекте при загрузке события, когда вы редактируете эту строку ниже:

reportViewer1.LocalReport.EnableExternalImages = true; 

После этого откройте ReportViewer на этой странице и установите для него смарт-тег, выберите Создать новый отчет и используйте для него элемент управления изображением из ToolBox, задайте его свойство

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

Примечание:Изображение (Sunset.jpg) сохранено в папке Images на диске D.Вы изменили его в соответствии с вашими требованиями.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top