代码之家  ›  专栏  ›  技术社区  ›  Abdullah

单击winforms c#“?按钮时如何一次打印多个crystal报表?

  •  0
  • Abdullah  · 技术社区  · 5 年前

    如何更新代码以打印所有三个报告?

    代码如下:

    private void btnSave_Click(object sender, EventArgs e)
            {
    
         if (textCashOrder.Text != "")
                            {
                                //print cash request 
                                int order_id = Convert.ToInt32(textCashOrder.Text);
    
                                RPT.CashOrdersReport report = new RPT.CashOrdersReport();
                                RPT.RPT_TESTS frm = new RPT.RPT_TESTS();
                                report.SetDataSource(order.GetOrderDetailscashForPrint(order_id));
                                report.PrintToPrinter(1, true, 0, 0);
                                report.PrintOptions.PrinterName = "HP DeskJet 3830 series";
    
                                //print job order 
    
    
                                RPT.SampleDetails jobreport = new RPT.SampleDetails();
                                RPT.RPT_TESTS frmjob = new RPT.RPT_TESTS();
                                jobreport.SetDataSource(order.GetsampleDetailsForPrint(order_id));
                                jobreport.PrintToPrinter(1, true, 0, 0);
                                jobreport.PrintOptions.PrinterName = "HP DeskJet 3830 series";
    
                                //print barcode report 
    
                                RPT.barcode myreport = new RPT.barcode();
                                myreport.SetParameterValue("@ORDER_ID", textCashOrder.Text);
                                myreport.SetDatabaseLogon("admin", "123123");
                                RPT.RPT_TESTS myform = new RPT.RPT_TESTS();
                                myreport.PrintToPrinter(1, true, 0, 0);
                                myreport.PrintOptions.PrinterName = "HP DeskJet 3830 series";
                            }
    }
    
    0 回复  |  直到 5 年前
        1
  •  0
  •   user8554708 user8554708    5 年前

    从代码中删除包含打印机名称的此行并打印:

    PrintOptions.PrinterName = "HP DeskJet 3830 series";
    
       private void btnSave_Click(object sender, EventArgs e)
                {
    
             if (textCashOrder.Text != "")
                                {
                                    //print cash request 
                                    int order_id = Convert.ToInt32(textCashOrder.Text);
    
                                    RPT.CashOrdersReport report = new RPT.CashOrdersReport();
                                    RPT.RPT_TESTS frm = new RPT.RPT_TESTS();
                                    report.SetDataSource(order.GetOrderDetailscashForPrint(order_id));
                                    report.PrintToPrinter(1, true, 0, 0);
    
    
                                    //print job order 
    
    
                                    RPT.SampleDetails jobreport = new RPT.SampleDetails();
                                    RPT.RPT_TESTS frmjob = new RPT.RPT_TESTS();
                                    jobreport.SetDataSource(order.GetsampleDetailsForPrint(order_id));
                                    jobreport.PrintToPrinter(1, true, 0, 0);
    
    
                                    //print barcode report 
    
                                    RPT.barcode myreport = new RPT.barcode();
                                    myreport.SetParameterValue("@ORDER_ID", textCashOrder.Text);
                                    myreport.SetDatabaseLogon("admin", "123123");
                                    RPT.RPT_TESTS myform = new RPT.RPT_TESTS();
                                    myreport.PrintToPrinter(1, true, 0, 0);
    
                                }
        }