在我的 ASP.Net网页项目中,我创建了一个新的网页,然后将脚本管理器控件拖到它上面,然后我创建了一个新的 rdlc报告向导并配置数据集(以显示产品表的3个字段:ProductName,quatityPerUnit,Price),它们开始检索数据。
在接下来的步骤中,我插入了一个新的Reportviewer并将其绑定到之前创建的报告,然后我再次通过打开dataset1.xsd文件并单击预览数据来验证数据是否已被检索。
这是我的网页正文代码:
<body>
<form id="form1" runat="server">
<div>
<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
<rsweb:ReportViewer ID="ReportViewer1" runat="server" Font-Names="Verdana" Font-Size="8pt" WaitMessageFont-Names="Verdana" WaitMessageFont-Size="14pt">
<LocalReport ReportPath="Reports\MyRdlcReport.rdlc">
<DataSources>
<rsweb:ReportDataSource DataSourceId="ObjectDataSource1" Name="dsProducts" />
</DataSources>
</LocalReport>
</rsweb:ReportViewer>
<asp:ObjectDataSource ID="ObjectDataSource1" runat="server" SelectMethod="GetData" TypeName="WebApplication1.dsProductsTableAdapters.ProductsTableAdapter">
</asp:ObjectDataSource>
</div>
</form>
</body>
但是当我运行项目时,我得到了下一个错误:没有为数据源'dataSource1'提供数据源实例,我试图在网上找到类似的情况但是没有找到任何帮助,请帮忙吗?
答案 0 :(得分:5)
您必须意识到defining of datasource
link:http://ruchitech.blogspot.fr/2012/07/how-to-create-rdlc-report-in-c.html
注意:请参阅选择数据源
答案 1 :(得分:4)
最后我找到了原因,它是一个非对应的Tablix数据集名称属性。我不得不将它从dataSet1重命名为dsProducts。
答案 2 :(得分:0)
// ReportViewer1.LocalReport.DataSources.Clear();
ReportViewer1.LocalReport.DataSources.Add(Student);
在页面加载中,请确保将以上用于ReportViewer
的清除函数作为注释或删除,以避免未提供Data source
实例错误。
答案 3 :(得分:-1)
Visual Studio 13提供了一个优雅的解决方案来处理sql server存储过程中的参数:
的ReportViewer 使用报告查看器的Web版本创建Web报告的步骤
使用网站/添加新项目创建Webform
在网页上拖动ReportViewer
选择新数据源或报告将显示错误:
尚未为数据源'
提供数据源实例将出现一个显示各种数据源的新屏幕。通常选择SQL数据
选择指定自定义SLQ语句,然后点击下一步
选择存储过程或选择SLQ语句并使用查询构建器。选择存储过程将允许用户选择存储过程参数的控件。然后,向导将正确配置Web代码,从而无需输入vb代码,如下所示:
Protected Sub ReportViewer1_Load(sender As Object, e As EventArgs) Handles ReportViewer1.Load Dim Parm As New ReportParameter("BillingReportParm1", Profile.TherapistNo) ReportViewer1.LocalReport.SetParameters(Parm) ReportViewer1.LocalReport.Refresh() End Sub
<asp:Content ID="Content2" ContentPlaceHolderID="cpMC" Runat="Server">
<rsweb:ReportViewer ID="ReportViewer1" runat="server" Font-Names="Verdana" Font-Size="8pt" WaitMessageFont-Names="Verdana" WaitMessageFont-Size="14pt" Height="383px" Width="721px">
<LocalReport ReportPath="Reports\BillingPendingRpt.rdlc">
<DataSources>
<rsweb:ReportDataSource DataSourceId="SqlDataPendRpt" Name="BillingPendingRptDataSet" />
</DataSources>
</LocalReport>
</rsweb:ReportViewer>
<asp:SqlDataSource ID="SqlDataPendRpt" runat="server" ConnectionString="<%$ ConnectionStrings:MMBDataConnectionString %>" SelectCommand="sp_WorkHour_Rpt" SelectCommandType="StoredProcedure">
<SelectParameters>
<asp:ProfileParameter Name="Therapist" PropertyName="TherapistNo" Type="String" />
</SelectParameters>
</asp:SqlDataSource>
</asp:Content>