Hi,
ich habe folgendes Problem.
Ich habe Daten in zwei TXT Dateien die beim Drucken zu einer Liste zusammengeführt werden.
Die Daten und Linien zu drucken funtioniert. Jetzt wollte ich aber das wenn er 34 Zeilen gedruckt hat auf die zweite Seite wechselt und da weiterdruckt.
In der mainloaderliste stehen sozusagen die Titel aller Daten drin, .count ist also die Gesamtzahl aller daten
Es sind zum Testen 39 items drin.
Das Problem ist, so wioe ich es in mit Einzelschritten verfolgen konnte, er schreibt brav von zuerst von zeile 1-34 auf seite 1. Dann schreibt er zeile 35-38 ( 38 ist der letzte Eintrag) wieder auf die erste seite unten dran und dann wechselt er zur zweiten seiten und schreibt wieder zeile 1-34.
Ich versteh einfach nicht wo der fehler ist.
ich habe folgendes Problem.
Ich habe Daten in zwei TXT Dateien die beim Drucken zu einer Liste zusammengeführt werden.
Die Daten und Linien zu drucken funtioniert. Jetzt wollte ich aber das wenn er 34 Zeilen gedruckt hat auf die zweite Seite wechselt und da weiterdruckt.
In der mainloaderliste stehen sozusagen die Titel aller Daten drin, .count ist also die Gesamtzahl aller daten
Es sind zum Testen 39 items drin.
VB.NET-Quellcode
- Private Sub PD1_PrintPage(ByVal sender As System.Object, ByVal e As System.Drawing.Printing.PrintPageEventArgs) Handles PD1.PrintPage
- Static pageNum As Integer = 1
- Dim pagecount As Integer = (mainLoader.Items.Count - 1) / 34
- If ((mainLoader.Items.Count - 1) / 34) - pagecount > 0 Then
- pagecount += 1
- End If
- Dim anfang As Integer = 1
- Static ende As Integer
- Dim printedRows As Integer = 0
- 'enden definieren
- If (mainLoader.Items.Count - 1) <= 34 Then
- ende = mainLoader.Items.Count - 1
- Else
- ende = 34
- End If
- For a = pageNum To pagecount
- For i = anfang To ende
- 'hier würde jetzt der Druckcode kommen. Hab ich aber weggelassen zur besseren Übersicht
- Next
- If pagecount > 1 Then
- anfang = ende + 1
- printedRows = ende
- ende += (mainLoader.Items.Count - 1) - printedRows
- Else
- Exit Sub
- End If
- Next
- 'Seitenzahl prüfen
- pageNum += 1
- If pageNum <= pagecount Then
- e.HasMorePages = True
- Else
- e.HasMorePages = False
- pageNum = 1
- Exit Sub
- End If
- End Sub
Das Problem ist, so wioe ich es in mit Einzelschritten verfolgen konnte, er schreibt brav von zuerst von zeile 1-34 auf seite 1. Dann schreibt er zeile 35-38 ( 38 ist der letzte Eintrag) wieder auf die erste seite unten dran und dann wechselt er zur zweiten seiten und schreibt wieder zeile 1-34.
Ich versteh einfach nicht wo der fehler ist.