以编程方式按打印对话框中的打印按钮

时间:2014-08-04 09:53:11

标签: vb.net reporting-services ssrs-2008 rdlc

我正在尝试使用以下代码通过Winforms打印本地SSRS报告。

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    Me.tblGoodsInTableAdapter.Fill(Me.dbPOsDataSet.tblGoodsIn)
    Me.ReportViewer1.RefreshReport()
End Sub
Private Sub ThreadTask()
    Thread.Sleep(100)
    SendKeys.SendWait("{TAB}")
    Thread.Sleep(10)
    SendKeys.SendWait("{ENTER}")
End Sub

Private Sub ReportViewer1_RenderingComplete(ByVal sender As Object, ByVal e As Microsoft.Reporting.WinForms.RenderingCompleteEventArgs) Handles ReportViewer1.RenderingComplete
    ReportViewer1.PrintDialog()
    Dim thrd As Thread
    thrd = New Thread(AddressOf ThreadTask)
    thrd.IsBackground = True
    thrd.Start()
End Sub

在查看打印对话框之前,它可以正常工作 我需要以编程方式点击“打印”对话框的“打印”按钮,因此无需用户干预即可完成打印。 请告知如何实现这一目标。

由于

1 个答案:

答案 0 :(得分:0)

如果您还不想显示报告预览,这是Microsoft的一个有趣的演练:Printing a Local Report without Preview

它显示了如何使用LocalReport对象以编程方式打印报表而不查看报表。这是一种完全不同于你的方法,但我认为这是正确的做法。