<p>How does one dynamically load a new report from an embedded resource? I have created a reporting project that contains a report as an embedded resource. I added a second report file and use the following code to switch reports:</p>

<pre><code>this.reportViewer1.LocalReport.ReportEmbeddedResource = "ReportsApplication2.Report2.rdlc";
this.reportViewer1.LocalReport.Refresh();
this.reportViewer1.RefreshReport();
</code></pre>

<p>When this code executes, the original report remains visible in the report viewer.</p>

<p>I have also tried using</p>

<pre><code>LocalReport.LoadReportDefinition
</code></pre>

<p>but had the same result.</p>

The answer: you have to call
```
```
<ReportViewer>.Reset();
```
```
prior to changing the value of ReportEmbeddedResource or calling LoadReportDefinition.
After you do so, you'll also have to call
```
```
<ReportViewer>.LocalReport.DataSources.Add( ... );
```
```
to re-establish the data sources.