5

В VS2010 Beta 2 средство просмотра веб-отчетов не отображает содержимое отчета, использую ли я локальный или удаленный режим.В VS2010 Beta 2 средство просмотра веб-отчетов не отображает содержимое отчета

Это только отображать следующие «ОТКЛ» бар [image]

Отчет, который я создал отлично работает в сервере отчетов.

Вот код для отображения отчета:

 ReportViewer1.ProcessingMode = ProcessingMode.Remote; 
     ReportViewer1.ServerReport.ReportServerUrl = new Uri("http://localhost/reportserver"); 
     ReportViewer1.ServerReport.ReportPath = "/MyReports/Report1"; 
     ReportViewer1.ServerReport.Refresh(); 

Или

 ReportViewer1.ProcessingMode = Microsoft.Reporting.WebForms.ProcessingMode.Local; 
     ReportViewer1.LocalReport.ReportPath = Server.MapPath("Report1.rdlc"); 
     ReportViewer1.LocalReport.DataSources.Add(new ReportDataSource("DataSet1", myDataSet); 
     ReportViewer1.LocalReport.Refresh(); 

И я уже добавил ScriptManager на веб-страницу, и соответствующие обработчики записей в web.config (как в разделе system.web, так и в разделе system.webServer).

Тот же код отлично работает в VS2008.

Кто-нибудь сталкивался с той же проблемой?

ответ

0

Такая же проблема ...

Мы добавили управления ReportViewer на страницу, которая является производной от пользовательской формы основания. В этой базовой форме мы переопределяем метод RenderChildren. В качестве примера см. Статью: http://msdn.microsoft.com/en-us/library/system.web.ui.control.renderchildren.aspx

У нас не было проблем с этим до Beta 2, и наша структура в значительной степени зависит от этой функциональности.

0

У меня был такой же вопрос и ответ MattSlay заставил меня понять, метод Refresh должен вызываться только тогда, когда страница не постбэк, мой рабочий Page_Load:

protected void Page_Load(object sender, EventArgs e) 
    { 
     if (!IsPostBack) 
     { 
      MainReportViewer.ProcessingMode = ProcessingMode.Remote; 
      string reportName = this.Request.QueryString["ReportName"]; 
      MainReportViewer.ServerReport.ReportPath = "/Pulse Reports/" + reportName; 
      MainReportViewer.ServerReport.ReportServerUrl = new Uri("http://10.1.0.48/ReportServer"); 
      MainReportViewer.ServerReport.Refresh(); 
     } 
    } 
9

До Beta 2, VS пришел нагруженный с Report Viewer 9.0 (так же, как в VS 2008). Beta 2 использует Report Viewer 10.0, который обрабатывает асинхронный рендеринг по-разному (используя ASP.Net AJAX или рендеринг содержимого в iframe). Является ли средство просмотра отчетов индикатором загрузки неопределенно долго? Если это так, то, вероятно, у вас, вероятно, есть код в событии загрузки вашей страницы, в котором ReportViewer должен перезапустить обработку отчета. Если вы делаете это каждый postback, то зритель застревает в бесконечном цикле. Просто добавив проверку IsPostBack на событие загрузки вашей страницы должно решить эту проблему.

Для получения дополнительной информации см. «Reports Never Stop Loading With VS 2010» в блоге просмотра отчетов Брайана Хартмана.

2

просто использовать

if(!isPostBack) 
{ 
//your code here 
} 

, чтобы избежать ReportViewer бесконечного цикла загрузки с ReportViewer версии 10.0.0 и VS2010 и используя SSRS2008

Смежные вопросы