C# report error when calling multiple reports from within WPF project in the same solution

StackOverflow https://stackoverflow.com/questions/8139863

سؤال

I'm currently trying to use multiple reports so that when a user selects an item from a context menu in a WPF application the Report form appears with the selected report E.g. if weekly is selected from the context menu a weekly report needs to be displayed in the reports form.

I get no compile time errors but my reportviewer displays the following "An error occurred during local report processing. The report definition for Report 'Reports.Report3.rdlc' has not been specified."

I'm using the code below when clicking on the context menu item

Reports.Form1 Reports = new Reports.Form1();
                Reports.reportViewer1.Reset();
                Reports.reportViewer1.LocalReport.DataSources.Clear();
                ReportDataSource reportDataSource1 = new ReportDataSource();
                Reports.SpecificationsTableAdapter.Fill(Reports.RocketToolsDataSet.Specifications);
                reportDataSource1.Name = "TestDataSet";
                reportDataSource1.Value = Reports.SpecificationsBindingSource;
                Reports.reportViewer1.LocalReport.DataSources.Add(reportDataSource1);
                Reports.reportViewer1.LocalReport.ReportEmbeddedResource = "Reports.Report3.rdlc";
                Reports.reportViewer1.Name = "reportViewer1";
                Reports.reportViewer1.RefreshReport();
                Reports.Show();
                loading.Close();

The project name for the report form is called Reports and the project name for the WPF application is called RocketTools. I have referenced the Reports project within my WPF project. If the reports is the default setup on loading within the report form it loads fine. But when i try to alter the setting the form loads with within my WPF application i get the error above.

Please can someone help me out

هل كانت مفيدة؟

المحلول

Solved the issue by using windowsformhosting rather than referencing another project.

XAML code can be seen below and then manually creating the table adapters and datasets by adding new items to the project and using the code in my original question when creating an instance of the reporting window.

<Window x:Class="RocketTools.Reports"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:viewer="clr-namespace:Microsoft.Reporting.WinForms;assembly=Microsoft.ReportViewer.WinForms"
        Title="Reports" Height="691" Width="1117" Loaded="Window_Loaded" Closed="Window_Closed" WindowStartupLocation="CenterOwner">
    <Grid x:Name="ReportGrid">
        <WindowsFormsHost Margin="12" Name="windowsFormsHost1">
            <viewer:ReportViewer x:Name="viewerInstance"></viewer:ReportViewer>
        </WindowsFormsHost>
    </Grid> </Window>
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top