Отображать изображение из папки, когда путь находится в базе данных в отчете RDLC - PullRequest
0 голосов
/ 05 июля 2018

Привет, ребята. Я хочу показать фотографии учеников, которые находятся в папке, а путь находится в базе данных, но я не могу этого сделать. Я много искал, но ничего полезного не нашел. Пожалуйста, помогите мне, ребята

enter image description here I am getting like this

            protected void Page_Load(object sender, EventArgs e)
        {

            if (!IsPostBack)
            {
                string query = @"select StudentID,c.DocumentType as DocumentID,DocumentNumber,Name,NameDari,FatherName,FatherNameDari,MobileNumber,Photo,b.ClassName as ClassID,d.LocationName as LocationID,e.TeacherName as TeacherID,a.Term,a.Score from StudentsInfo a 
join Class b 
on a.ClassID=b.ClassID
join Document c
on c.DocumentID=a.DocumentID
join Location d
on d.LocationID=a.LocationID
join Teachers e
on e.TeacherID=a.TeacherID";
                var data = db.Database.SqlQuery<StudentsInfo>(query);
                ReportViewer1.SizeToReportContent = true;
                ReportViewer1.LocalReport.ReportPath = Server.MapPath("Certificates.rdlc");

                ReportViewer1.LocalReport.DataSources.Clear();
                ReportDataSource ds = new ReportDataSource("Certificates", data);
                ReportViewer1.LocalReport.DataSources.Add(ds);
                this.ReportViewer1.LocalReport.EnableExternalImages = true;
                ReportViewer1.LocalReport.Refresh();
            }

        }

1 Ответ

0 голосов
/ 10 июля 2018

Сначала убедитесь, что вы уже выполнили следующие шаги в конструкторе отчетов RDLC:

1) Установить «Внешний» режим из свойства источника изображения.

2) Создайте параметр отчета для хранения вставленного пути из кода сзади, используя Add Parameter из контекстного меню.

Затем вы можете попробовать пример ниже после включения EnableExternalImages:

this.ReportViewer1.LocalReport.EnableExternalImages = true;

/* begin added part */

// get absolute path to Project folder
string path = new Uri(Server.MapPath("~/path/to/Project/folder")).AbsoluteUri; // adjust path to Project folder here

// set above path to report parameter
var parameter = new ReportParameter[1];
parameter[0] = new ReportParameter("ImagePath", path); // adjust parameter name here
ReportViewer1.LocalReport.SetParameters(parameter);
/* end of added part */

ReportViewer1.LocalReport.Refresh();

Затем в редакторе выражений отчета определите простое выражение, объединяющее вставленный путь из ReportParameter и сохраненный путь из базы данных (здесь имя параметра должно совпадать с ReportParameter в приведенном выше примере кода):

=Parameters!ImagePath.Value + Fields!Photo.Value

Ссылки:

...