Несмотря на то, что на первый взгляд это кажется простым, получить доступ к параметрам экспорта сложно.Вы можете получить панель инструментов средства просмотра отчетов, просто выполнив следующее:
Dim myToolStrip As ToolStrip = DirectCast(ReportViewer1.Controls.Find("toolStrip1", True)(0), ToolStrip)
... и вы можете перебирать коллекцию .Items, чтобы делать то, что вам нравится, с помощью кнопок, однако коллекция DropDownItems для экспортакнопка всегда отображается пустой.
Таким образом, простое решение состоит в том, чтобы избавиться от кнопки экспорта по умолчанию и добавить свою собственную, используя только те функции, которые вам нужны.Итак, в конструкторе вашей формы:
//Hide the default export button
ReportViewer1.ShowExportButton = False
//Define a new button
Dim newExportButton As New ToolStripButton("Export PDF", Nothing, AddressOf Me.ExportPDF, "newExport")
//And add it to the toolstrip
DirectCast(ReportViewer1.Controls.Find("toolStrip1", True)(0), ToolStrip).Items.Add(newExportButton)
Тогда все, что вам нужно сделать, это позаботиться о реальном экспорте:
Private Sub ExportPDF()
Dim warnings As Microsoft.Reporting.WinForms.Warning()
Dim streamids As String()
Dim mimeType As String = ""
Dim encoding As String = ""
Dim extension As String = ""
Dim bytes As Byte() = ReportViewer1.LocalReport.Render("PDF", Nothing, mimeType, encoding, extension, streamids, warnings)
Dim fs As New IO.FileStream("C:\export.pdf", IO.FileMode.Create)
fs.Write(bytes, 0, bytes.Length)
fs.Close()
fs.Dispose()
End Sub