J'ai une page web qui affiche un rapport RDLC dans un ReportViewer. Pour chaque enregistrement du rapport principal, il existe un sous-rapport.
J'ai besoin de passer les données de 3 champs de chaque enregistrement du rapport principal comme paramètre à la procédure stockée des sous-rapports.
le rapport principal fonctionne, mais il indique simplement
Erreur : Le sous-rapport n'a pas pu être affiché
Tous les paramètres sont définis dans les deux rapports et je gère l'événement localReport_SubreportProcessing.
Code C#
protected void Page_Load(object sender, EventArgs e)
{
this.ReportViewer1.LocalReport.DataSources.Add(new ReportDataSource("Refs_MainDs", SqlDs_RefsReportsMain));
this.ReportViewer1.LocalReport.SubreportProcessing += new SubreportProcessingEventHandler(localReport_SubreportProcessing);
}
void localReport_SubreportProcessing(object sender, SubreportProcessingEventArgs e)
{
e.DataSources.Add(new ReportDataSource("Refs_SubDs", SqlDs_RefsReportsSub));
}
Code ASP
<rsweb:ReportViewer ID="ReportViewer1" runat="server" Height="800px" Width="100%" Font-Names="Verdana" Font-Size="8pt" BorderColor="#666666"
BorderStyle="Solid" BorderWidth="1px" AsyncRendering="False" ShowPrintButton="False" >
<LocalReport ReportPath="Reports\EOD_Refs_MainReport.rdlc" >
<DataSources>
<rsweb:ReportDataSource DataSourceId="SqlDs_RefsReportsMain" Name="Refs_DataSource" />
<rsweb:ReportDataSource DataSourceId="SqlDs_RefsReportsSub" Name="Refs_DataSource" />
</DataSources>
</LocalReport>
ET
<asp:SqlDataSource ID="SqlDs_RefsReportsMain" runat="server" ConnectionString="<%$ ConnectionStrings:AlphaConnectionString %>"
SelectCommand="rpt_RefsReport_Main" SelectCommandType="StoredProcedure">
<SelectParameters>
<asp:QueryStringParameter Name="RefsID" QueryStringField="RefsID" Type="String" />
</SelectParameters>