Recuperare il numero di pagine di un report

mercoledì 15 luglio 2009 - 11.18

mikyn73@hotmail.com Profilo | Newbie

Ciao a tutti,
uso vb 2008 e crystal report per visual studio, ho la necessità di sapere il numero di pagine di un report prima di mandarlo in stampa. In pratica se il report è di una sola pagina deve uscire su una stampante "normale", se è multipagina deve essere fascicolato in un'altra.
Non uso nessun visualizzatore, solo l'oggetto report.
Qualcuno mi sa aiutare?
Allego breve estratto di codice.

mioReport.SetDataSource(Dataset)

NumeroPagine = ?????

if NumeroPagine = 1 then
'Imposto prima stampante
...
mioReport.PrintToPrinter(2, True, 0, 0)
else
'Imposto seconta stampante
...
mioReport.PrintToPrinter(2, True, 0, 0)
end if

Ciao
Michele

freeteo Profilo | Guru

Ciao,
prova ad usare il metodo "GetLastPageNumber" del report, con un codice di questo tipo:
ReportDocument report = new ReportDocument(); report.Load(@"...report.rpt", OpenReportMethod.OpenReportByTempCopy); report.SetDataSource(...); report.FormatEngine.GetLastPageNumber(new ReportPageRequestContext()); ...
e dopo che hai recuperato il numero vai a cambiare le proprieta di printing del report per indirizzarlo verso la stampante corretta.

Ciao.

Matteo Raumer
[MVP Visual C#]
http://blogs.dotnethell.it/freeteo
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5