2013-05-06 2 views
0

Я работаю над приложением Windows Forms, где я хочу загрузить отчеты в Reportviewer после нажатия кнопки. Это Событие, которое получает срабатывает при нажатии на кнопку в код из формы Windows:Telerik Параметры отчетов из WindowsForm Codebehind для отчета

private void button1_Click(object sender, EventArgs e) 
{ 

    Telerik.Reporting.InstanceReportSource reportSource = new 
    Telerik.Reporting.InstanceReportSource(); 
    reportSource.ReportDocument = new Reportlibrary.Report1(); 

    reportSource.Parameters.Add(new Telerik.Reporting.Parameter("OrderNumber","123456789")); 

    reportViewer1.ReportSource = reportSource; 
    reportViewer1.RefreshReport(); 

} 

Сейчас проблема заключается в том, что я понятия не имею, как я могу получить доступ/получить параметр я добавил перед обновлением Reportviewer. Отчет уже установил источник данных. Я не знаю, имеет ли это значение. Это то, что я имею прямо сейчас. Я пробовал все, и я просто не стал дальше.

 public Report1() 
     { 
      InitializeComponent(); 

      Position[] all = new Position[]{ 

       new Position("Test", "Test","test"), 

      }; 

      this.DataSource = all; 

      MessageBox.Show("Number: " + 
      this.Report.ReportParameters["OrderNumber"].Value.ToString()); 

     } 

Есть ли способ получить этот параметр сразу после InitializeComponent(); ? Нужно ли добавить еще одно событие в отчет, чтобы получить к нему доступ? Если да, то это лучший способ сделать это?

Любая помощь очень понравилась. Спасибо

ответ

0

Установить параметры отчета на примере самого отчета (а не исходный отчет), такие как:

 TopPageViews report = new TopPageViews(); 
     report.ReportParameters["StartDate"].Value = new DateTime(2013, 3, 1); 
     report.ReportParameters["EndDate"].Value = new DateTime(2013, 3, 1); 

     InstanceReportSource reportSource = new InstanceReportSource(); 
     reportSource.ReportDocument = report; 

     this.reportViewer1.ReportSource = reportSource; 
     this.reportViewer1.RefreshReport(); 

В конструкторе отчетов, после InitializeComponent, подписываться обработчик к ItemDataBinding событие:

this.ItemDataBinding += TopPageViews_ItemDataBinding; 

И в обработчике, вы можете получить значение, как обычно:

DateTime startDateParm = (DateTime)this.ReportParameters["StartDate"].Value; 

Вы можете использовать отладчик для просмотра значения.