Telerik Reporting |Задать параметр отчета через строку запроса - PullRequest
3 голосов
/ 22 сентября 2011

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

        Telerik.Reporting.Report report = new MyCustomReportLibrary.TelerikReport();
        report.ReportParameters["parameterName"].Value = Request.QueryString["Id"];

        ReportViewer.Report = report;

Этот синтаксис выше подходит, но когда переменная "report" создается конструктором TelerikReport () , у него еще нет значения для параметра, и когда я устанавливаю после факта это, кажется, не имеет значения. Даже если я пытаюсь вызвать ReportViewer.RefreshReport () .

Места, которые я посмотрел:

Спасибо за помощь,

Chris

Ответы [ 3 ]

2 голосов
/ 22 сентября 2011

Мне удалось заставить его работать, изменив Contructor для MyCustomReportLibrary.TelerikReport. Надеюсь, это поможет любому, кто ищет ответ.

Так же, как этот пример Telerik Форумы | Передать параметры отчета из окна Rad в отчет Telerik

Код сообщения Telerik (TelerikReport.cs)

    public TelerikReport(int Id)
    {
        //
        // Required for telerik Reporting designer support
        //
        InitializeComponent();

        this.ReportParameters["parameterName"].Value = Id;
    } 

Код страницы ASP.Net (ReportViewerPage.cs)

    protected void Page_Load(object sender, EventArgs e)
    {
        Report raReport = new TelerikReport(Request.QueryString["Id"] as int);
        ReportViewer1.Report = raReport;
    }
1 голос
/ 01 февраля 2016

Я предложу другой простой ответ, который подходит для MVC (3 квартал 2015 г.)

0 голосов
/ 28 марта 2015

Это еще один пример.Передайте параметры непосредственно в отчет.

На странице Asp.net

protected void Button1_Click(object sender, EventArgs e)
        {
            var instanceReportSource = new Telerik.Reporting.InstanceReportSource();
            instanceReportSource.ReportDocument = new SampleReport(TextBox1.Text);
            this.ReportViewer1.ReportSource = instanceReportSource;
        }

В отчете

public partial class SampleReport : Telerik.Reporting.Report
    {
        public SampleReport(string invoiceNumber)
        {           
            InitializeComponent();


        }
    }
...