首页 > 解决方案 > 如何通过传递多个值来批量打印报表

问题描述

我有一个学生列表,我想为每个学生打印一张费用单,我使用 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

在此处输入图像描述

标签: c#sql-serverwpfcrystal-reports

解决方案


推荐阅读