Report viewer does not load, showing blank space - running local RDLC files

匆匆过客 提交于 2019-12-03 06:11:23

Try using a simple report , sometimes reportviewer throws exception caused by invalid RDLC and shows an empty report.

Try also to debug the project and look at the output window in Visual Studio: you will see the warning raised bu the RDL engine, it could be useful to investigate the reason of the error.

I had same problem with VS2012, report shows loading image and then after loading is complete, report is blank. Data exists but not rendered.

Solution : Simply change Report AsyncRendering to False and report works fine again.

I was getting the same problem when I add parameter in rdlc but not assigning it. I solved by adding this code.

Dim p_Date As Microsoft.Reporting.WebForms.ReportParameter
p_Date = New Microsoft.Reporting.WebForms.ReportParameter("DATE", txtDate.Text)
    Me.ReportViewer1.LocalReport.SetParameters(New Microsoft.Reporting.WebForms.ReportParameter() {p_Date})
    ReportViewer1.LocalReport.Refresh()

I had the same problem and in my case it turned out that I have supplied the a dataset that was not the actually the object type that the report expected.

In my situation the report expected a business object, but I have supplied a SQL Data source.

I also encountered this same problem when there was parameters on the report which were not allowed to be null or blank but the parameter values was not supplied.

Also note that in order to set a data source in code it has to be done in the onload event and not in the page_load event.

In my case, ReportViewer control does not provide error messages (EventViewer nor ReportViewer control body), just blank page. I think this make hard find and fix the issue. Yoel Halb's answer was my key!

A property called IsReadyForRendering was False. In the BOL refers to parameters topic.

I could inspect every value of the whole parameters with the code (you can execute it from immediate window)

   var parameters = ReportViewer1.LocalReport.GetParameters()

You will find the problematic parameter when you look the property State with the value "MissingValidValue"

Hope this helps !

This one took some time to figure out, so hopefully these checks will save you some time:

1) Verify the web.config

<system.web>
  <httpHandlers>
    <add path="Reserved.ReportViewerWebControl.axd" verb="*" type="Microsoft.Reporting.WebForms.HttpHandler, Microsoft.ReportViewer.WebForms, Version=11.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91" validate="false" />
  </httpHandlers>

  <buildProviders>
    <add extension=".rdlc" type="Microsoft.Reporting.RdlBuildProvider, Microsoft.ReportViewer.WebForms, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
 </buildProviders>
</system.web>

<system.webServer>
  <handlers>
    <add name="ReportViewerWebControlHandler" preCondition="integratedMode" verb="*" path="Reserved.ReportViewerWebControl.axd" type="Microsoft.Reporting.WebForms.HttpHandler, Microsoft.ReportViewer.WebForms, Version=11.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91" />
  </handlers>
<system.webServer>

2) try the report viewer control directly in design view before moving any configuration into code

Hard-Coded Report Viewer Control

3) Verify that the script manager is on the page before the report viewer

4) Ensure that the report runs outside of design viewer, either locally or on the SSRS server

5) BE SURE THAT REPORT HAS DEFAULT VALUES FOR ALL PARAMETERS! Reports that require parameters and don't have default values show up blank.

In my case the culprit was having parameters with the Allow null value = false (unchecked)... Don't asked me why.

after changing size for paper or reportviewer won't work you can try my solution by adding more delay for

WaitControlDisplayAfter

sometimes your data too large to process for async

Had the same problem. Took a while to figure out for me but it turns out I accidentally new'ed the reportViewer control myself so I lost what the Visual Studio Designer had created for me when I designed the form and that is why the reportviewer control kept coming up blank - I never set any properties on the Visual Studio Designer's ReportViewer object.

Silly mistake but took quite some time to figure out.

I've spent many days to figure out similar issue. Maybe this could help someone. I've read almost all threads on stackoverflow, but reading comments here made me try this out. In my case first two rows (parameters row and row with option to hide parameters) were shown, but rows that contain management buttons and the report itself were empty. Clicking View report resulted in no action.

What I've done was loading the report that had parameters without providing them - I wanted user to fill them - on Page_Load.

protected void Page_Load( object sender, EventArgs e )
{
    this.LoadReport();
}

private void LoadReport()
{
        // retrieve path param from "Reports/{path}" URL
        string reportPath = Request.QueryString[ "path" ] as string;
        string reportServerUrl = System.Configuration.ConfigurationManager.AppSettings[ "ReportServerUrl" ];

        this.MainReport.ProcessingMode = ProcessingMode.Remote;
        this.MainReport.ServerReport.ReportServerUrl = new Uri( reportServerUrl );
        this.MainReport.ServerReport.ReportPath = reportPath;
        this.MainReport.ServerReport.Refresh();
}

After changing Page_Load code to the given below everything works fine.

protected void Page_Load( object sender, EventArgs e )
{
    if ( !this.IsPostBack )
        this.LoadReport();
}
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!