Home All Groups Group Topic Archive Search About

Printing on a new page

Author
3 Aug 2006 8:56 AM
Zimba
I want to take a new page while running over a resultset.
I made a very simple sample, i want to take a new page in "Afdrukken"
It's easy to say test on 14000 and don't test in "Afdrukken" but this is
only a simple sample, don't change the code, I really need a pagebreak in
"Afdrukken"

Thanks in advance

Here is the code

    Dim afdruk As New SDCNetAfdrukDLL.clsAfdrukDLL
    Dim i As Integer
    Dim pry As Long
    Dim strSQL As String
    Dim rs As New FBZNETDataObject.FBZNETData
    Dim bReturn As Boolean
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As  
                                         System.EventArgs) Handles
Button1.Click
        PrintDoc = New Printing.PrintDocument
        strSQL = "SELECT Volgnr, Opmerking, ToegewezenAan, DatumOpl " _
                   & "  FROM Taak "
        bReturn = rs.lezen(strSQL)
        PrintDoc.Print()
    End Sub
    Private Sub PrintDoc_PrintPage(ByVal sender As Object, ByVal e As    

System.Drawing.Printing.PrintPageEventArgs)
                                   Handles PrintDoc.PrintPage
        afdruk.pageEvents = e
         'Running over resultset
        Do While Not rs.EOF
            Afdrukken()
            'Take a new page when > 15000 twips
            If pry > 15000 Then
                e.HasMorePages = True
                pry = 500
                Exit Sub
            End If
            bReturn = rs.Volgende
        Loop
        e.HasMorePages = False
    End Sub

    Private Sub Afdrukken()
        afdruk.Tekst(500, pry, rs.Waarde("Volgnr"))
        pry = pry + 500
        afdruk.Tekst(500, pry, rs.Waarde("opmerking"))
        pry = pry + 500
        'Take a new page when > 15000
        If pry > 15000 Then
            'Here i want a pagebreak !!!!!
        End If
        afdruk.Tekst(500, pry, rs.Waarde("ToegewezenAan"))
        pry = pry + 500
        afdruk.Tekst(500, pry, rs.Waarde("DatumOpl"))
        pry = pry + 500
    End Sub

Author
3 Aug 2006 4:45 PM
JR
Hoi,

In Uw afdrukroutine moet je ergens bijhouden hoever je bent gekomen met een
static variabele. dan stel je newpage op true (e.HasMorePages = True)

Dan verlaat je je routine want zodra je
e.HasMorePages = True bekomt kom je vanzelf opnieuw in dezelfde routine.
waar je volgens de static variabele verder afdrukt



Jan


Show quoteHide quote
"Zimba" <Zi***@discussions.microsoft.com> schreef in bericht
news:A057FF86-DD73-4F03-9B45-1B060B0F6BD1@microsoft.com...
>I want to take a new page while running over a resultset.
> I made a very simple sample, i want to take a new page in "Afdrukken"
> It's easy to say test on 14000 and don't test in "Afdrukken" but this is
> only a simple sample, don't change the code, I really need a pagebreak in
> "Afdrukken"
>
> Thanks in advance
>
> Here is the code
>
>    Dim afdruk As New SDCNetAfdrukDLL.clsAfdrukDLL
>    Dim i As Integer
>    Dim pry As Long
>    Dim strSQL As String
>    Dim rs As New FBZNETDataObject.FBZNETData
>    Dim bReturn As Boolean
>    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As
>                                         System.EventArgs) Handles
> Button1.Click
>        PrintDoc = New Printing.PrintDocument
>        strSQL = "SELECT Volgnr, Opmerking, ToegewezenAan, DatumOpl " _
>                   & "  FROM Taak "
>        bReturn = rs.lezen(strSQL)
>        PrintDoc.Print()
>    End Sub
>    Private Sub PrintDoc_PrintPage(ByVal sender As Object, ByVal e As
>
> System.Drawing.Printing.PrintPageEventArgs)
>                                   Handles PrintDoc.PrintPage
>        afdruk.pageEvents = e
>         'Running over resultset
>        Do While Not rs.EOF
>            Afdrukken()
>            'Take a new page when > 15000 twips
>            If pry > 15000 Then
>                e.HasMorePages = True
>                pry = 500
>                Exit Sub
>            End If
>            bReturn = rs.Volgende
>        Loop
>        e.HasMorePages = False
>    End Sub
>
>    Private Sub Afdrukken()
>        afdruk.Tekst(500, pry, rs.Waarde("Volgnr"))
>        pry = pry + 500
>        afdruk.Tekst(500, pry, rs.Waarde("opmerking"))
>        pry = pry + 500
>        'Take a new page when > 15000
>        If pry > 15000 Then
>            'Here i want a pagebreak !!!!!
>        End If
>        afdruk.Tekst(500, pry, rs.Waarde("ToegewezenAan"))
>        pry = pry + 500
>        afdruk.Tekst(500, pry, rs.Waarde("DatumOpl"))
>        pry = pry + 500
>    End Sub
>