Microsoft Report Viewer ASP.NET

时间:2012-10-10 14:13:07

标签: c# asp.net oracle datatable reportviewer

这是我第一次使用Microsoft Report Viewer控件,我认为它非常简单,但我不断收到以下错误:

 An error occurred during local report processing.
 The report definition for report 'Report3' has not been specified
 Object reference not set to an instance of an object.

我的Oracle数据库中有一个我正在使用的视图,如下所示:

DataTable View

我浏览GUI并制作“新报告”并将此DataSet添加到“表格”中。我使用查询生成器创建“FillByModel”和“GetDataByModel”函数,它们都从数据库中返回正确的数据,但是当我运行我有ReportViewer控件的页面时,它会给我上面的错误。我不知道那个错误意味着什么,在谷歌搜索废话并尝试一切我不知道如何解决它。

这是我的ReportViewer对象的.aspx代码:

 <rsweb:ReportViewer ID="ReportViewer1" runat="server" Font-Names="Verdana" Font-Size="8pt" WaitMessageFont-Names="Verdana" WaitMessageFont-Size="14pt">
    <LocalReport ReportEmbeddedResource="Paint_Reporting.Report3.rdlc">
        <DataSources>
            <rsweb:ReportDataSource DataSourceId="ObjectDataSource1" Name="LOL" />
        </DataSources>
    </LocalReport>
</rsweb:ReportViewer>
<asp:ObjectDataSource ID="ObjectDataSource1" runat="server" OnSelecting="ObjectDataSource1_Selecting" SelectMethod="GetData" TypeName="PaintModelNumberDetailTableAdapters.PAINT_MODELNUMBERDETAILLISTINGTableAdapter"></asp:ObjectDataSource>
<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>

有人可以帮我解决这个错误吗?

2 个答案:

答案 0 :(得分:2)

您必须在后面的代码中调用它:

reportViewer.LocalReport.ReportPath = "CommonLayer.Reports.SalesByPrice.rdlc";

只需确保相应地更改名称,即将reportViewer.LocalReport.ReportPath属性设置为RDL文件的路径。

这是一个完整的讨论,详细说明了您必须解决此问题的选项:

The report definition for report 'xxx' has not been specified

答案 1 :(得分:0)

您还可以添加.rdlc的确切路径

示例我的工作对我有用:

reportViewer.LocalReport.ReportPath = @"C:\Users\miuser\Documents\Visual Studio 2012\Projects\miproyect\SSHD\Views\Summary\Report1.rdlc";