Свойство enable externalimages не было установлено для этого отчета?

Я пытаюсь добавить внешнюю фотографию в качестве логотипа вместе с отчетом о report.rdlc файл. У меня есть эта ошибка

Свойство enable externalimages не было установлено для этого отчета

?

Вот мой код

 try
{
    this.pedidosTableAdapter.Connection.ConnectionString = con.MysqlConnect();

    this.pedidosTableAdapter.Fill(this.fabricacaoDataSet8.pedidos, Pages.relatorios.num);
    this.reportViewer1.RefreshReport();
}
catch { }

// for external image
this.reportViewer1.LocalReport.EnableExternalImages = true;
ReportParameter parm = new ReportParameter();
parm=(new ReportParameter("path", @"C:\logo.jpg",true));
this.reportViewer1.LocalReport.SetParameters(parm);
this.reportViewer1.Refresh();

4 ответа

У меня есть опыт, когда вы включаете внешние образы с помощью кода, он работает в локальной среде / среде разработки, но при развертывании на сервере он не работает, и в отчетах возникает ошибка:

"Свойство enable external images не установлено для этого отчета"

Чтобы решить эту проблему, используйте EnableExternalImages="true" свойство в ASPX или файл дизайна, где вы используете элемент управления ReportViewer, и он будет работать отлично.

Проблема здесь в том, что вы звоните this.reportViewer1.RefreshReport(); перед установкой this.reportViewer1.LocalReport.EnableExternalImages = true;,

Порядок важен здесь.

Я надеюсь, что это изображение является справкой в ​​приложении Windows. Активируйте ReportViewer->Properties->LocalReport->EnableExternalImage и установите для него значение True

Как уже упоминалось, путь к изображению должен быть в формате URL, т.е. @"file:///C:\logo.jpg"

Или вы можете попробовать

var filepath = new Uri("C:\logo.jpg");
var path = new ReportParameter("Path", filepath.AbsolutePath);
this.reportViewer1.LocalReport.SetParameters(new ReportParameter {Path = path});

У меня ничего не работало, просто это сработало

        LocalReport localReport = new LocalReport();
        localReport.ReportPath = HostingEnvironment.MapPath("~/Reports/myreport.rdlc");
        localReport.EnableExternalImages = true;
        localReport.EnableHyperlinks = true;

Для приложений WinForm приведенный ниже код будет работать хорошо.

string templateImage = Application_Path + @"\Images\ReportLogo.jpg";
rvRptContainer.LocalReport.EnableExternalImages = true;
rvRptContainer.LocalReport.SetParameters(new ReportParameter("ReportLogo", "File:\\" + templateImage));

Для приложений ASP.Net выполните следующие действия:

ReportViewer1.LocalReport.EnableExternalImages = true;

    string imagePath = new Uri(Server.MapPath("~/images/Mudassar.jpg")).AbsoluteUri;

    ReportParameter parameter = new ReportParameter("ImagePath", imagePath);

    ReportViewer1.LocalReport.SetParameters(parameter);

    ReportViewer1.LocalReport.Refresh();
Другие вопросы по тегам