У меня есть три набора данных, используемых в 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>