2014-10-01 2 views
0

Мне нужно отображать изображения в C# ReportViewerИзображение в Reportviewer

Источник изображения установлен как «Внешний».

Фокус в том, что SourcePath для изображения необходимо сгенерировать во время выполнения на основе полей в Таблице в теле отчета.

ответ

0

Я не знаю, что ваш источник данных для вашего отчета, но я работаю с DataTables в своих отчетах.

В тех с изображениями, я добавить столбец данных

DataColumn column = new DataColumn("someImg"); 
column.DataType = System.Type.GetType("System.Byte[]"); 
column.AllowDBNull = true; 
MyDataTable.Columns.Add(column); 

Затем, для каждой строки, такие как строка имеет имя файла фактического изображения вместо фактического столбца изображения в таблице, имеющий данные, я заполнить эту колонку,

foreach(DataRow dr in MyDataTable.Rows) 
    dr["someImg"] = System.IO.File.ReadAllBytes(dr["FullPathAndFileToActual.jpg"]); 

Итак, так как вы будете знать путь во время выполнения, просто отрегулировать цикл, чтобы найти изображения, как я здесь, а затем запустить с отчетом.

Затем каждая строка имеет действительный двоичный графический объект, который может быть представлен на основе каждой строки.

В отчете убедитесь, что в разделе «Общие» вашего элемента управления изображением установлена ​​правильная настройка «MIMEType», для моего источника установлено значение «База данных», а значение установлено равным = Поля! SomeImg.Value.

Смежные вопросы