Ciao a tutti, sto convertendo il lancio della mia applicazione dal Crystal 9 (VB6) al Crystal 2008 (.NET)
Tendenzialmente ho due bottoni, uno per l'anteprima e uno per la stampa diretta. Per fare la stampa diretta in precedenza usavo la dll CRAXDRT e ora invece utilizzo il namespace ReportDocument.
Qui salta fuori il problema: una volta si poteva fare venire fuori la PrintDialog (gestita dalla CRAXDRT) dove si sceglieva la stampante e si imposta tutti i parametri... c'è ancora possibilità di farlo?
Siccome ho sbattuto un po' la testa e non ho trovato nulla, mi son detto: "Perchè non uso la PrintDialog di VB.NET ???" Così funziona ma nn riesco assolutamente e leggere alcuni valori settati nella PrintDialog, per esempio l'opzione che dice di stampare N pagine per foglio.
Non so se sto utilizzando il metodo corretto, io faccio così:
Dim crdReport As New ReportDocument
crdReport.Load("C:\prova.rpt")
Dim Res As DialogResult = DialogResult.OK
Dim Copies As Short =1
Dim Collated As Boolean = False
Dim FromPage As Integer = 0
Dim ToPage As Integer = 0
If m_Print.PrinterSetup = True Then
Dim dlgPrint As New PrintDialog
dlgPrint.AllowSomePages = True
dlgPrint.UseEXDialog = True
Res = dlgPrint.ShowDialog(m_Print.OwnerForm)
If Res = Windows.Forms.DialogResult.OK Then
With dlgPrint.PrinterSettings
Copies = .Copies
Collated = .Collate
FromPage = .FromPage
ToPage = .ToPage
crdReport.PrintOptions.PrinterName = .PrinterName
End With
End If
End If
If Res = Windows.Forms.DialogResult.OK Then
crdReport.PrintToPrinter(Copies, Collated, FromPage, ToPage)
End If