Citat:
borcha: Zna li neko gde gresim kod ovog koda???
Code:
Dim Y As Integer
Y = 0
e.HasMorePages = False
Do Until rsSveOce.EOF
If Y >= pdOcene.DefaultPageSettings.Bounds.Y Then
e.HasMorePages = True
Return
End If
e.Graphics.DrawString(rsSveOce("NazivOblasti").Value & " - (Ocena : " & rsSveOce("Ocena").Value & ") - Datum: " & rsSveOce("DatumOcene").Value, fonSveOce, Brushes.Black, 20, 400 + Y, New StringFormat)
rsSveOce.MoveNext()
Y = Y + 15
Loop
Pokusavam da odstampam document u vise strana a da se nastavak teksta prikaze u nastavku na drugoj strani!!
Ako dodajes 400 na Y koordinatu moras i u proveri dodati:
Code:
If (400+Y) >= pdOcene.DefaultPageSettings.Bounds.Y Then
e.HasMorePages = True
Return
End If
inace ces izgubiti dobar deo teksta jer ce ti tih (400/15) ~ 26 linija teksta stampati izvan okvira stranice.
Citat:
borcha: Molim vas jedan primer ali da funkcionise !!!
Nesto ovako, samo mi treba tacno!!
Code:
Private Sub pdSveOcene_PrintPage(ByVal sender As System.Object, ByVal e As System.Drawing.Printing.PrintPageEventArgs) Handles pdSveOcene.PrintPage
Try
Dim i As Single = 0
Dim b As Integer
For b = 1 To 3000
e.HasMorePages = False
If i >= pdSveOcene.DefaultPageSettings.Bounds.Y Then
e.HasMorePages = True
End If
e.Graphics.DrawString(b.ToString, Me.Font, Brushes.Black, 20, i)
i = i + 15
Next b
end sub
Help!!!
Ocigledno da nisi shvatio poentu primera koji sam postovao. Kao prvo imas petlju koja je uvek ponavlja 3000 puta bez obzira koju stanu stampao a trebalo bi da ti se smanjuje nakon svake strane (tj. za onoliko koliko si odstampao). Drugo, kod provere da li si presao donju marginu strane nisi prekinuo izvrsavanje metode, ostavio si da se petlja zavrsi do kraja.
Probaj sledece:
Code:
Dim b As Integer
Private Sub pdSveOcene_PrintPage(ByVal sender As System.Object, ByVal e As System.Drawing.Printing.PrintPageEventArgs) Handles pdSveOcene.PrintPage
Dim i As Single = 0
e.HasMorePages = False
while b < 3000
If i >= pdSveOcene.DefaultPageSettings.Bounds.Y Then
e.HasMorePages = True
Return
End If
e.Graphics.DrawString(b.ToString, Me.Font, Brushes.Black, 20, i)
i = i + 15
b = b + 1
Loop
end sub