Я создаю отчет Telerik
в приложении MVC
. Отчет предоставляется прямо в формате pdf, не используя Report Viewer
. Я думаю, что я правильно передаю параметр с контроллера, но не могу понять, как и где получить значение параметров в коде отчета, когда отчет отображается. Я хочу динамически заполнять окно изображения в зависимости от значения переданного параметра с помощью User Function
.Как динамически установить Telerik Report Picture box на основе переданного параметра
Вот мой код контроллера, который открывает отчет. Если я жесткий код переменной покупатель я получаю правильное изображение для отображения в PictureBox:
public ActionResult PrintPoReport()
{
byte[] contents;
Telerik.Reporting.Processing.RenderingResult result;
using (var reportDocument = new LogisticsReports.Report1())
{
var buyerID = "999999"; //hard code buyerId for testing
var irs = new InstanceReportSource();
irs.ReportDocument = reportDocument;
irs.Parameters.Add(new Parameter("Buyer", "buyerID")); // parameter to determine which jpg will populate picture box. **Never gets to Report1**
Telerik.Reporting.Processing.ReportProcessor rp = new Telerik.Reporting.Processing.ReportProcessor();
result = rp.RenderReport("PDF", irs, null);
contents = result.DocumentBytes;
}
return File(contents, "application/pdf", "P0 #" + id + ".pdf");
}
Кодекс За для отчета:
public partial class Report1 : Telerik.Reporting.Report
{
public Report1()
{
InitializeComponent();
var buyer = "999999"; //hard coded for testing...this works!
//Need to capture the passed in parameter here
if (buyer == "111111"){
this.pictureBox1.Value = "http://www.arctecalaska.com/images/signatures/111111.bmp";
}
if (buyer == "999999")
{
this.pictureBox1.Value = "http://www.arctecalaska.com/images/signatures/Ike.jpg";
}
}
}
}
Проблема в том, что параметр покупатель я посылаю от Контроллер никогда не делает это в отчете. Во время отладки InitializeComponent отчета() работает, как только код попадет в строку:
var reportDocument = new LogisticsReports.Report1
Мне нужно, чтобы иметь возможность фиксировать и оценивать переданный в параметре, прежде чем делает доклад, но я не вижу, как это сделать что. Есть идеи?