Salto pagina inesistente

giovedì 03 marzo 2011 - 18.33
Tag Elenco Tags  VB.NET  |  .NET 3.5  |  Windows XP  |  Visual Studio 2008  |  SQL Server 2008

Peppino Profilo | Junior Member

Ciao a tutti.
La porzione di codice seguente è parte del codice scritto usando Printdocument con Visual Studio 2008 per la stampa di una fattura diretta o di un D.d.t.

Static i As Integer
Static Pagina As Integer

For i = i To i + 20 ' 20 è il numero di righe da stampare per pagina.

If i < bds.Count Then

............... dati di esempio da stampare (che nel mio caso sono solo tre righe)

y = y + 24 'Incremento della variabile Y.

e.HasMorePages = True 'Permetto di stampare la pagina successiva
Else
e.HasMorePages = False
End If
Next

If i > bds.Count Then

................ stampa gli importi totali finali

End If

Il problema è che cosi come scritto, faccio l'anteprima e mi visualizza una sola pagina cosi come realmente deve essere, mentre se faccio stampa mi stampa la pagina 2 (che non dovrebbe esserci essendoci solo tre righe di dati) e solo con gli importi finali. Mentre se al posto di 20 come numero di righe per pagina gli metto un numero inferiore a 3 che è il numero di righe di dati presenti, funziona perchè cosi facendo diventano realmente 2 pagine.
Non riesco a capire dovè il problema. Grazie anticipatamente per l'eventuale risposta.
Saluto tutti. Ciao. Peppino.

freeteo Profilo | Guru

Ciao Peppino,
ma tu sai esattaemnte quante righe ci stanno dentro ad una pagina?
Perchè dovresti verificare quello nel ciclo, per poter dire "HasMorePage", altrimenti lui settando a true quella proprietà nel ciclo, passa di fatto alla pagina successiva anche se non ha stampato niente.

Il modo corretto di operare quindi è sapere prima quante righe ci stanno nella pagina per poter dire "passa alla successiva" o no...

Ciao.

Matteo Raumer
[MCAD .net, 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-2017
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5