Как распечатать несколько отчетов Crystal, когда нажата кнопка в winforms c# "? - PullRequest
1 голос
/ 24 марта 2020

У меня есть 3 отчета, и мне нужно распечатать все из них при нажатии одной кнопки, теперь печатается только первый отчет

Как обновить код для печати всех трех отчетов?

Это код:

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";
                        }
}

1 Ответ

1 голос
/ 24 марта 2020

Удалите эту строку, которая включает имя принтера из вашего кода, и напечатайте:

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);

                            }
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...