4 回答
你必须意识到最后一步是谁defining of datasource
链接:http ://ruchitech.blogspot.fr/2012/07/how-to-create-rdlc-report-in-c.html
注意:请参阅选择数据源
最后我找到了原因,它是一个不对应的 Tablix 数据集名称属性。我不得不将它从 dataSet1 重命名为 dsProducts。
// ReportViewer1.LocalReport.DataSources.Clear();
ReportViewer1.LocalReport.DataSources.Add(Student);
在页面加载中,确保将上述 clear 函数ReportViewer
作为注释或删除以避免Data source
未提供实例错误。
Visual Studio 13 提供了一个优雅的解决方案来处理 sql server 存储过程中的参数:
ReportViewer 使用 ReportViewer 的 Web 版本创建 Web 报表的步骤
使用网站创建 Web 表单/添加新项目
在网页上拖动 ReportViewer
- 选择创建新报告 (rdlc)
- 选择报表的数据源(保存前一定要重命名)
- 使用报告生成器在报告中放置字段。
- 保存报告,然后将 report1.rdlc 的默认值重命名为所需的名称
- 将报告和网页移动到所需目录
- 转到网页报告查看器任务并选择报告。
- 然后选择数据源(可以在数据源中添加报表的参数)
选择新建数据源,否则报告会报错:
尚未为数据源提供数据源实例'</p>
将出现一个显示各种数据源的新屏幕。一般选择SQL数据
选择指定自定义 SLQ 语句,然后点击 NEXT
选择存储过程或选择 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
- 完成的 HTML 代码示例如下所示:
<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>