Как отобразить изображения в отчете RDLC
-
05-09-2019 - |
Вопрос
У меня есть отчет 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.Вы изменили его в соответствии с вашими требованиями.