Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Community
  • |
  • Diskussionsforum
C# Datagrid drucken ab zeile X neue Seite
Maffi1986
myCSharp.de - Member

Avatar #avatar-3437.gif


Dabei seit:
Beiträge: 54
Herkunft: Soest

Themenstarter:

C# Datagrid drucken ab zeile X neue Seite

beantworten | zitieren | melden

Hallo liebe C#ler,

ich drucke ein Datagrid, hier ein Codeauszug


                   DataGridViewRow GridRow = DgVGutsch.Rows[iRow];
                    //Set the cell height
                    iCellHeight = GridRow.Height + 5;
                    int iCount = 0;
                    //Check whether the current page settings allo more rows to print
                    if (iTopMargin + iCellHeight ≥ e.MarginBounds.Height + e.MarginBounds.Top)
                    {
                        bNewPage = true;
                        bFirstPage = false;
                        bMorePagesToPrint = true;
                        break;
                    }
                    else
                    {
                        if (bNewPage)
                        {

woran erkennt der Code, das eine neue Seite benötigt wird? Mein Problem, die Seite hat einen Fuß der von dem grid überdruckt wird sobald das Grid mehr als 16 Zeilen hat. Wo kann ich bestimmen, wann eine neue Seite gedruckt wird? Und falls eine neue Seite gedruckt wird, sollen bestimmte sachen auf der ersten Seite verschwinden. Ich bin ein Anfänger und bin dankbar für jede Hilfe.

hier der ganze Code aus dem Thread Druck: DataGridView beginnt zu tief auf der Seite

Vielen Dank im vorraus

Maffi
private Nachricht | Beiträge des Benutzers
FZelle
myCSharp.de - Experte



Dabei seit:
Beiträge: 10072

beantworten | zitieren | melden

1. Man druckt kein DataGridView sondern die gebunden Daten.

2. Wird dir jedes Tutorial zu Drucken sagen das deine Schleife

 while (iRow ≤ DgVmetallarten.Rows.Count - 1)
Da vollkommen fehl am platze ist.
Drucken über mehrere Seite klappt nicht
private Nachricht | Beiträge des Benutzers
Maffi1986
myCSharp.de - Member

Avatar #avatar-3437.gif


Dabei seit:
Beiträge: 54
Herkunft: Soest

Themenstarter:

beantworten | zitieren | melden

Hallo Fzelle,

vielen Dank für deine Antwort, diese Schleife hat aber nicht mit dem Seitenende zu tun oder? Falls noch nicht erwähnt, meine C# kenntnisse halten sich noch in Grenzen, den Code fürs drucken habe ich auch nur aus einem Tutorial, dort war die Schleife bereits drin. Vom gefühl würde ich sagen, das es irgendwas hiermit zu tun haben muss


if (iTopMargin + iCellHeight ≥ e.MarginBounds.Height + e.MarginBounds.Top)
                    {
                        bNewPage = true;
                        bFirstPage = false;
                        bMorePagesToPrint = true;
                        break;
                    }
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von Maffi1986 am .
private Nachricht | Beiträge des Benutzers
tom-essen
myCSharp.de - Experte

Avatar #avatar-2140.png


Dabei seit:
Beiträge: 1928
Herkunft: NRW

beantworten | zitieren | melden

Hallo Maffi1986,

wenn du druckst, hast du ja in den Eventargumenten eine Eigenschaft MorePages (oder so ähnlich). Diese muss auf true gesetzt werden, wenn noch weitere Seiten zu drucken sind. Du musst dir in einer internen variable merken, welche Zeile du zuletzt gedruckt hast, und dann beim nächsten Aufruf diese als Basis für die weiteren Zeilen nehmen.

Am Rande bemerkt, ist Drucken auch nicht gerade das beste Thema, um in C# einzusteigen, da es doch ein sehr komplexes Thema ist.
Nobody is perfect. I'm sad, i'm not nobody
private Nachricht | Beiträge des Benutzers