如何解决如何在不显示“打印预览”的情况下直接打印收据?
这是我的代码:
Dim reportHolding As New CrystalReport1
Dim myDa As New SqlDataAdapter
Dim myDs As New DataSet1
MYCOMMAND.CommandText = "select * from printDatasetView where receiptNumber = '" &
Trim(receiptNumber_txt.Text) & "'"
MYCOMMAND.CommandType = CommandType.Text
myDa.SelectCommand = MYCOMMAND
myDa.Fill(myDs,"printDatasetView")
reportHolding.SetDataSource(myDs)
reportHolding.SetParameterValue("rno",Trim(receiptNumber_txt.Text))
salesReceipt.CrystalReportViewer1.ReportSource = reportHolding
salesReceipt.ShowDialog()
我想直接将收据发送给打印机,而不显示打印预览对话框。打印完成后,将其关闭并返回到表格。
解决方法
您可以注释掉或删除以下两行代码,因为它们仅用于查看报告。
salesReceipt.CrystalReportViewer1.ReportSource = reportHolding
salesReceipt.ShowDialog()
然后添加以下代码。
reportHolding.PrintToPrinter(1,False,0)
这将打印到已安装的默认打印机。如果您不熟悉ReportDocument.PrintToPrinter()方法,则它具有4个参数。 第一个参数是整数,它是份数,第二个参数是布尔值,用于确定是否对打印作业进行整理,最后两个参数都是整数,第三个参数是开始的起始页码从第一个开始打印,第四个是结束页码。
如果需要控制所使用的打印机,则可以使用PrintDialog类获取打印机名称,然后将打印机设置为使用以下代码行。该行将被插入到实际打印报告上方的行之前。
reportHolding.PrintOptions.PrinterName = <PrinterName>
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。