У меня есть список студентов, я хочу распечатать квитанцию об оплате для каждого студента, для которого я использую хранимую процедуру SQL для получения данных и отчеты Crystal Reports.Что я хочу сделать, так это открыть все ReportViewer
, передать все studentIds
и показать их в разделе предварительного просмотра.
Я сделал:
ReportDocument rd = new ReportDocument();
private void MetroWindow_Loaded(object sender, RoutedEventArgs e)
{
rd.Load(@"C:\\Program Files (x86)\CognitiveDev\TKS Management System\Reports\FeeSlip.rpt");
try
{
SqlConnection conn = new SqlConnection();
conn.ConnectionString = ConfigurationManager.ConnectionStrings["Other"].ConnectionString;
conn.Open();
SqlDataAdapter sda = new SqlDataAdapter("PrintFeeSlip", conn);
sda.SelectCommand.CommandType = System.Data.CommandType.StoredProcedure;
foreach (int gotId in gotList)
{
sda.SelectCommand.Parameters.AddWithValue("@AdmissionNumber", gotId);
DataSet ds = new DataSet();
sda.Fill(ds, "FeeSlip");
rd.SetDataSource(ds);
reportView.ViewerCore.ReportSource = rd;
reportView.ViewerCore.RefreshReport();
}
}
catch (Exception err)
{
MessageBox.Show(err.ToString());
}
}
Этот код работает для одного, ночто я должен сделать для нескольких stdID