Scorrere il contenuto di ReportDocument

martedì 10 maggio 2005 - 08.39

robypiange Profilo | Newbie

Buona sera a tutto il forum.
Vorri sapere se è possibile reperire delle informazioni del report già svolto tipo il numero di pagine totali o altri informazioni dinamiche da fuori tipo subito dopo avergli associato la base dati.
La mia esigenza è la seguente devo riuscire a reperire il numero massimo di pagine e chiamare un webmetod passandogli questo numero.
Chiamare un webmetod da dentro il file .rpt oppure dal .cs associato e creato runtime non penso sia possibile, e quindi mi volevo scorrere la variabile reportdocument e magari leggere il contenuto di una formula nella quale ci inserivo il max numero di pagine.
E' possibile secondo voi questa cosa?
Se no avete qualche idea su come posso risolvere questa cosa?
Grazie in anticipo a tutti

freeteo Profilo | Guru

Ciao,
perdona il ritardo nella risposta mi era sfuggito il thread.

Come dici tu, chiamare un WebMetho da dentro il report non è possibile, devi farlo da codice .net, quindi dentro alla tua applicazione, quello che puoi fare è provare a recuperare il numero di pagine dall'oggetto che hai caricato (e a cui hai passato i dati):
ReportDocument report = new ReportDocument(); report.Load(@"....\report.rpt", OpenReportMethod.OpenReportByTempCopy); ... report.FormatEngine.GetLastPageNumber(new ReportPageRequestContext()) ...

*: Attento però che questo numero di pagine potrebbe non venire conteggiato sempre, perchè a volte non viene fatto per velocizzare il caricamento (deve elaborarsi tutte le pagine prima di darti il conto di quante sono). Però se hai messo un campo speciale come "page N of M" dentro al report (tipicamente nel pie-pagina) allora lo fa di sicuro.

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