Asp.net WebForms ReportViewer数据源错误
我在窗体上使用ReportViewer控件:Asp.net WebForms ReportViewer数据源错误,asp.net,reporting-services,reportviewer,Asp.net,Reporting Services,Reportviewer,我在窗体上使用ReportViewer控件: <form id="form1" runat="server"> <asp:ScriptManager ID="ScriptManager1" runat="server"> </asp:ScriptManager> <rsweb:ReportViewer ID="ReportViewer1" runat="server"> </rsweb:ReportViewer
<form id="form1" runat="server">
<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
<rsweb:ReportViewer ID="ReportViewer1" runat="server">
</rsweb:ReportViewer>
</form>
当报告呈现时,我遇到了下一个错误:
A data source instance has not been supplied for the data source 'DataSet1'.
连接工作正常(我对其进行了测试),当我尝试在MS SQL Server report Builder中运行报表时,它也正常工作(报表已生成)。在rdlc报表上有一个名为“DataSet1”的数据集,您在设计报表时添加了该数据集。您需要传递此数据集用于呈现报表的数据 这是通过localreport数据源集合完成的。请注意,它是复数,意思是您可以在报告中有多个数据集
ReportViewer1.LocalReport.DataSources.Clear();
ReportDataSource rds = new ReportDataSource();
rds.Name = "DataSet1"; //this is the name of the DataSet on your report rdlc
rds.Value = datatable; //this contains the data and columns referenced in the dataset
ReportViewer1.LocalReport.DataSources.Add(rds);
如果查看下面的标记,您将看到reportviewer所期望的内容
<rsweb:ReportViewer ID="ReportViewer1" runat="server">
<LocalReport ReportPath="Report1.rdlc">
<DataSources>
<rsweb:ReportDataSource Name="DataSet1" />
</DataSources>
</LocalReport>
</rsweb:ReportViewer>
我已经完成了答案的第二部分(.aspx内容)-现在我看到了导航,但下面显示了错误:“在报告处理过程中发生了错误。”。DataSet1“我应该也做第一部分(codebehind)吗?我将更新我的答案以支持第二部分-仍然需要codebehind”报告处理过程中出现错误。“DataSet1”可能是因为.rdlc文件的路径不正确。文件的路径正确(如果不正确-报表查看器如何知道数据集名称?)。什么是myData?我在我的报表中创建了sql查询,我应该传递给它什么?我无法复制这个问题。可能还有其他问题导致了这一点,但当我设置此功能时,它按预期工作。
<rsweb:ReportViewer ID="ReportViewer1" runat="server">
<LocalReport ReportPath="Report1.rdlc">
<DataSources>
<rsweb:ReportDataSource Name="DataSet1" />
</DataSources>
</LocalReport>
</rsweb:ReportViewer>
ReportViewer1.LocalReport.DataSources["DataSet1"].Value = myData;