Salve,
io dovrei stampare il contenuto di un datareader(che contiene es 5 colonne e 10 righe) ciclando in modo tale che mi stampi una pagina alla volta con il contenuto di ogni riga...

Mi spiego meglio dovrei far risultare sulla prima stampa il contenuto della prima riga del datareader,sulla seconda pagina il contenuto della seconda riga,etc..

Il problema del salto pagina non mi preoccupa perchè nel codice proprietario del driver che vado a interrogare, io non riesco ad ciclare in modo tale che il contenuto di ogni riga del datagrid mi vada su pagine diverse.

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_stampa.Click
Dim i As Integer
Dim a As Integer
If cn.State = ConnectionState.Open Then
Dim sql As String = "select * from q_Sovra where NUM_INT=?"
Dim cmd As New OleDbCommand(sql, cn)
cmd.Parameters.AddWithValue("1", Me.txt_numero_interno.Text)
dr = cmd.ExecuteReader()
dr.Read()
a = Me.txt_tot.Text 'NUMERO DI STAMPE DA LANCIARE
txt_peso.Clear()
txt_peso.Text = dr.GetString(1) 'associo il contenuto della prima riga della colonna uno del datareader a uno textbox che poi andrà stampata.
dr.NextResult() 'passo al record successivo
For i = 0 To (a - 1)
PrintPreviewDialog1.Document = PrintDocument1
PrintPreviewDialog1.ShowDialog()
'Me.PrintDocument1.Print()
Next i

End If
End Sub

Public Sub PrintDocument1_PrintPage(ByVal sender As System.Object, ByVal e As System.Drawing.Printing.PrintPageEventArgs) Handles PrintDocument1.PrintPage
e.Graphics.DrawString(Me.txt_peso.Text, Me.Font, Brushes.Black, 40, 15)
End Sub

QUESTO CODICE STAMPA SOLO IL CONTENUTO DELLA PRIMA RIGA DEL DATAREADER PER IL NUMERO TOT CONTENUTO NELLA TXT_TOT.Quindi ogni pagina che stampa ha il contenuto della prima riga nella colonna 1 del datareader.la seconda pagina che stampa dovrebbe contere il valore della seconda riga nella colonna 1 del datareader ma non è così.
COME POSSO FARE ?

SPERO DI ESSERE STATO CHIARO.

GRAZIE MILLE