【问题标题】:crystal report prints blank page at end水晶报告最后打印空白页
【发布时间】:2023-03-21 03:15:01
【问题描述】:


这个问题快把我逼疯了。
我正在使用

EPSON TM-T88V 打印机

要打印,早些时候还好,一晚操作系统升级到 WIN10,一切都变得疯狂。我有一个零售店的 POS,所以如果我第一次为特定桌子打印一张账单,它会在账单之后用空白页打印,因此它太长了。但我再次打印它打印完美。调用 EPSON 并且在测试页面上有一些问题,所以他们有一些如何修复它,因为支持仅限于测试页面,所以留在那里。当我尝试使用 POS 时,它是一样的。
这是我的打印代码

private void BillReceipt_Load(object sender, EventArgs e)
    {
        try
        {

            string sqlqry = "Select tb.TableNo,Pax,WaiterName,ItemCode,ItemName,Quantity,Amount,tb.BillNo,OrderType,RoundOffAmount as RoundOff, Discount,Gratuity,dues,Date1,tb.Time,ModeOfPayment,CardNo,CardHolderName,BankName,TotalAmount,VAT,ServiceTax,AmountPaid,Comments as comment,CustomerName,offeramount,DeliveryTax,Phoneno,Address From tblOrder o,tblBilling tb Where tb.KOTNo=@kotno  and tb.KOTNo=o.KOTNo and o.KOTcancel='False'and o.Quantity>'0'and KOTCancel='False'";
            SqlCommand cmd = new SqlCommand(sqlqry, connectionclass.con);
            cmd.Parameters.AddWithValue("@kotno", NewOrderBL.KOTNo);
            SqlDataAdapter adapter = new SqlDataAdapter(cmd);
            DataSet3 ds = new DataSet3();
            adapter.Fill(ds, "Billing");
            if (ds.Tables["Billing"].Rows.Count == 0)
            {
                MessageBox.Show("No Data Found", this.Text, MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
            if (deliverybl.order == "Delivery")
            {
                PrintBillDelivery printbilldelivery = new PrintBillDelivery();
                printbilldelivery.SetDataSource(ds);
                crystalReportViewer1.ReportSource = printbilldelivery;
                System.Drawing.Printing.PrintDocument printDocument = new System.Drawing.Printing.PrintDocument();
                printbilldelivery.PrintOptions.PrinterName = printDocument.PrinterSettings.PrinterName;

                printbilldelivery.PrintOptions.PrinterName = "EPSON TM-T88V Receipt";//for JAPNA PC
                printbilldelivery.PrintToPrinter(1, false, 0, 0);

            }
            else
            {
                PrintBillReceipt2 printbillreceipt2 = new PrintBillReceipt2();
                printbillreceipt2.SetDataSource(ds);
                crystalReportViewer1.ReportSource = printbillreceipt2;
                System.Drawing.Printing.PrintDocument printDocument = new System.Drawing.Printing.PrintDocument();
                printbillreceipt2.PrintOptions.PrinterName = printDocument.PrinterSettings.PrinterName;

                printbillreceipt2.PrintOptions.PrinterName = "EPSON TM-T88V Receipt";//for JAPNA PC
                printbillreceipt2.PrintToPrinter(1, false, 0, 0);

            }


           //////////////////////////////////////////////////
        }
        catch (Exception ex)
        {
            MessageBox.Show(ex.Message, this.Text, MessageBoxButtons.OK, MessageBoxIcon.Information);
        }
        finally { connectionclass.disconnect(); }
        NewOrderBL.KOTNo = string.Empty;
        onlinebl.crystalreport = "";
        this.DialogResult = DialogResult.OK;
        // this.Close();
    }

如果您需要任何其他信息,请告诉我。所以请帮忙。谢谢

【问题讨论】:

    标签: c#-4.0 printing crystal-reports epson


    【解决方案1】:


    我能够解决由于 WIN 10 而导致的问题,一旦我能够恢复到 WIN 8,它就可以像以前一样工作了。
    我认为是水晶报表版本 13.x 与 WIN 10 不兼容的原因(虽然不确定)

    【讨论】: