ReportViewer не показывает отчет RDL C в VS 2013 - PullRequest
0 голосов
/ 31 марта 2020

У меня есть три набора данных, используемых в rdl c. когда я отлаживаю, ошибка не возникает, но отображается отчет. Источник данных содержит необходимые данные. Я использовал следующий код. Пожалуйста, помогите.

Как упоминалось ранее, я разработал rdl c с тремя отдельными наборами данных.

c# Код:

 private void showreport()
        {
            rptViewer.Reset();

            DataTable dt = GetData(TextObjectionID.Text);
            ReportDataSource rds = new ReportDataSource("FIDetails", dt);
            ReportDataSource rds1 = new ReportDataSource("ObjDetails", dt);
            ReportDataSource rds2 = new ReportDataSource("RplyDetails", dt);


            rptViewer.LocalReport.DataSources.Add(rds);
            rptViewer.LocalReport.DataSources.Add(rds1);
            rptViewer.LocalReport.DataSources.Add(rds2);

            rptViewer.LocalReport.ReportPath = "AuditObjRpt.rdlc";

            ReportParameter[] RptParam = new ReportParameter[] {
                new ReportParameter("ObjectionID",TextObjectionID.Text)
            };


            rptViewer.LocalReport.Refresh();


        }

        private DataTable GetData(string ObjID)
        {
            DataTable dt = new DataTable();
            using (SqlConnection sqlCon = new SqlConnection(conStringSql))
            {
                sqlCon.Open();
                SqlCommand sqlCmd = new SqlCommand("select a.ObjID, a.ObjTitle, a.ObjDescryption, " +
                                                   " a.ObjDate, b.ReplyFrmBranch,b.ReplyFrmFI,b.ReplyFrmFID,b.ReplyFrmMeeting, " +
                                                   " b.ReplyFrmAuditDpt from dbo.AOM_Objections a " +
                                                   " inner join dbo.AOM_Objections_Reply b " +
                                                   " on a.FI_ID=b.FI_ID and a.ObjID=b.ObjID " +
                                                   " inner join dbo.AOM_FI c on a.FI_ID=c.FI_ID " +
                                                   " where a.objid='" + ObjID + "'");
                sqlCmd.CommandType = CommandType.Text;
                SqlDataAdapter sda = new SqlDataAdapter();
                sqlCmd.Connection = sqlCon;
                sda.SelectCommand = sqlCmd;
                sda.Fill(dt);
            }
            return dt;

        }

код aspx для средства просмотра отчетов:

<asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager>
         <rsweb:ReportViewer ID="rptViewer" Width="90%" runat="server" Font-Names="Verdana" Font-Size="8pt" WaitMessageFont-Names="Verdana" WaitMessageFont-Size="14pt">
             <LocalReport ReportPath = "AuditObjRpt.rdlc" ReportEmbeddedResource="AOM.AuditObjRpt.rdlc">
                 <DataSources>
                     <rsweb:ReportDataSource DataSourceId="ObjectDataSource1" Name="FIDetails" />
                     <rsweb:ReportDataSource DataSourceId="ObjectDataSource2" Name="ObjDetails" />
                     <rsweb:ReportDataSource DataSourceId="ObjectDataSource3" Name="RplyDetails" />
                 </DataSources>
             </LocalReport>
         </rsweb:ReportViewer>
         <asp:ObjectDataSource ID="ObjectDataSource3" runat="server" SelectMethod="GetData" TypeName="tmp_db_goaml_mw4DataSetTableAdapters.AOM_Objections_ReplyTableAdapter"></asp:ObjectDataSource>
         <asp:ObjectDataSource ID="ObjectDataSource2" runat="server" SelectMethod="GetData" TypeName="tmp_db_goaml_mw4DataSetTableAdapters.AOM_ObjectionsTableAdapter"></asp:ObjectDataSource>
         <asp:ObjectDataSource ID="ObjectDataSource1" runat="server" SelectMethod="GetData" TypeName="tmp_db_goaml_mw4DataSetTableAdapters.AOM_FITableAdapter"></asp:ObjectDataSource>
...