Я сделал следующее, чтобы показать список изображений с неизвестным количеством элементов в матрице.
Сначала создайте набор данных только с одним полем, вы можете делать все, что захотите, я назвал его «filepath» и назвал набор данных «DataSet5». Вы можете изменить имя и использовать его соответственно.
Затем вам нужно добавить таблицу, удалить ненужные строки и столбцы, чтобы у вас осталась только 1 матрица столбцов и строк (1x1). Вставьте изображение в этот столбец, установите его свойства сейчас. Источник изображения должен быть ВНЕШНИМ.
В файле aspx.cs для отчета получите пути к изображениям из базы данных, теперь получите абсолютные пути к ним и добавьте «file: ///», так как отчеты требуют, чтобы файл отображался. Я сделал так:
string rel_Path = HttpContext.Current.Server.MapPath("~");
if (_articleOrders.Any())
{
foreach (ArticleOrder order in _articleOrders)
{
if (!string.IsNullOrEmpty(order.ArticleImage))
{
if (File.Exists(rel_Path + "\\" + order.ArticleImage))
{
var AIpath = "file:///" + rel_Path + "\\" + order.ArticleImage;
articleImagesList.Add(AIpath);
}
}
}
CreateDatasetForImages(articleImagesList);
}
Затем я добавил данные в набор данных, как показано ниже:
private void CreateDatasetForImages(List<string> articleImagesList)
{
DataTable table = new DataTable();
table.Columns.Add("filepath", typeof(string));
foreach (string articleImage in articleImagesList)
{
DataRow drow = table.NewRow();
string pat = articleImage;
drow["filepath"] = pat;
table.Rows.Add(drow);
}
FlowerBookingReportViewer.LocalReport.DataSources.Add(new ReportDataSource("DataSet5", table));
}
Теперь снова перейдите к свойствам изображения и установите для «Использовать это изображение» значение [filepath] в качестве имени столбца в нашем наборе данных, который содержит путь к изображению. Надеюсь, у кого-нибудь это сработает!