Mehrere Seiten mit printdocument drucken
Ich mache ein Programm, das: Nachdem Sie einige Zeilen in der Datagrid-Ansicht ausgewählt haben, prüft es, ob 1 oder mehr ausgewählt wurden. Wenn eins, drucken Sie zwei Kopien des Berichts auf einer Seite (Ein Bericht = halbe Seite). Wenn mehr: Drucken Sie zwei Berichte pro Seite und drucken Sie so viele Seiten wie nötig. Das Problem ist, mein Code druckt 4531456453 Seiten desselben Berichts (erste und zweite Zeile): /
Grundlegendes Beispiel für Code:
yPos = 0
Do While tmpI < mydatagridview.SelectedRows.Count - 1
For Each selectedrow As DataGridViewRow In mydatagridview.SelectedRows
Dim data as string = mydatagridview.SelectedRows(selectedrow.index).cells(1).value
Dim data2 as string = mydatagridview.SelectedRows(selectedrow.index).cells(12).value
e.graphics.drawstring(data, drawfont, (e.graphics.pagebound.width/2-e.graphics.measurestring(data, drawfont).width/2), 25+yPos)
e.graphics.drawstring(data2, drawfont, (e.graphics.pagebound.width/2-e.graphics.measurestring(data2, drawfont).width/2), 50+yPos)
yPos += e.pagebounds.height/2
tmpI += 1
If yPos > e.pagebound.height/2 Then
h = 0
e.HasMorePages = true
Exit Sub
End If
Next selecedrow
Loop
Wie ich bereits sagte, werden ab sofort unendlich viele Seiten mit Daten und Daten2 aus SelectedRows mit den Indizes 0 und 1 gedruckt.