Salto pagina

venerdì 22 marzo 2013 - 21.57

Peppino Profilo | Junior Member

Ciao a tutti.

Al codice seguente non riesco a fargli fare il salto pagina. Senza del ciclo esterno funziona benissimo, ma con l'aggiunta del ciclo esterno niente da fare. Avevo postato in un altra stanza, ma non ho avuto nessuna risposta ed ho pensato non fosse quella giusta chiedo scusa se faccio sempre confusione a riguardo.
E' possibile un aiuto a risolvere il problema?. Grazie anticipatamente per l'eventuale risposta.
Comunque faccio i miei migliori auguri a tutti per le prossime feste.
Ciao, Peppino.

Static causale As String
Static ix As Integer
Static i As Integer

For i = i To i + NumeroRighePerPagina ' numero riga per pagina impostato a 30.

If i < bds1.Count Then
causale = CStr(dst1.Tables("Causale").Rows(i).Item(0))
e.Graphics.DrawString(causale, Font3, Brushes.Green, X + 10, Y)

Y += 25 'incremento della variabile per stampare la riga successiva.

cmd = New SqlCommand()
cmd.Connection = SqlHelper.ConnessioneDatabase
cmd.CommandText = "SELECT Cliente, Causale, Articolo, Um, SUM(Quantità) AS QuantitàP, SUM(Importo) AS ImportoP FROM UsciteDettaglio WHERE Cliente=@cliente and Causale=@causale GROUP By Cliente, Causale, Articolo, Um Order By Articolo"
cmd.Parameters.Add(New SqlParameter("@cliente", SqlDbType.VarChar))
cmd.Parameters("@cliente").Value = cliente
cmd.Parameters.Add(New SqlParameter("@causale", SqlDbType.VarChar))
cmd.Parameters("@causale").Value = causale
adp = New SqlDataAdapter(cmd)
dst = New DataSet
adp.Fill(dst, "Articolo")
adp.Fill(dst, "Um")
adp.Fill(dst, "Quantità")
adp.Fill(dst, "Importo")

bds = New BindingSource()
bds.DataSource = dst

bds.DataMember = "Articolo"
bds.DataMember = "Um"
bds.DataMember = "Quantità"
bds.DataMember = "Importo"

adp.Dispose()
cmd.Dispose()
cmd.Connection.Close()

ix = 0
importo1 = 0
importoUm1 = 0

For ix = ix To ix + NumeroRighePerPagina

If ix < bds.Count Then
articolo = CStr(dst.Tables("Articolo").Rows(ix).Item(2))
um = CStr(dst.Tables("Um").Rows(ix).Item(3))
quantità = CDec(dst.Tables("Quantità").Rows(ix).Item(4))
importo = CDec(dst.Tables("Importo").Rows(ix).Item(5))

prezzo = importo / quantità
importoUm = importo / CDec(TxtQuantità.Text)
importo1 += importo
importoUm1 += importoUm
importo2 += importo
importoUm2 += importoUm

e.Graphics.DrawString(articolo, Font6, Brushes.Black, X + 25, Y)
e.Graphics.DrawString(um, Font6, Brushes.Black, X + 290, Y)
e.Graphics.DrawString(Formatta(CStr(quantità), TipoFor.Migliaia_con_decimali), Font6, Brushes.Black, X + 340, Y)
e.Graphics.DrawString(Formatta(CStr(prezzo), TipoFor.Valuta), Font6, Brushes.Black, X + 400, Y)
e.Graphics.DrawString(Formatta(CStr(importo), TipoFor.Valuta), Font6, Brushes.Black, X + 520, Y)
e.Graphics.DrawString(Formatta(CStr(importoUm), TipoFor.Valuta), Font6, Brushes.Black, X + 660, Y)

Y += 25 'incremento della variabile per stampare la riga successiva.

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

e.Graphics.DrawString(Formatta(CStr(importo1), TipoFor.Valuta), Font3, Brushes.Red, X + 515, Y)
e.Graphics.DrawString(Formatta(CStr(importoUm1), TipoFor.Valuta), Font3, Brushes.Red, X + 655, Y)

Y += 25

End If
Next

e.Graphics.DrawString(Formatta(CStr(importo2), TipoFor.Valuta), Font3, Brushes.Blue, X + 515, Y)
e.Graphics.DrawString(Formatta(CStr(importoUm2), TipoFor.Valuta), Font3, Brushes.Blue, X + 655, Y)

Pagina += 1 'incremento numero della pagina.
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