这是我第一次使用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数据库中获得了一个我正在使用的视图,如下所示:
我浏览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>
有人可以帮我弄清楚这个错误吗?
解决方法:
你必须在你的代码中调用它:
reportViewer.LocalReport.ReportPath = "CommonLayer.Reports.SalesByPrice.rdlc";
只需确保相应地更改名称,即将reportViewer.LocalReport.ReportPath属性设置为RDL文件的路径.
这是一个完整的讨论,详细说明了您必须解决此问题的选项:
The report definition for report ‘xxx’ has not been specified