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
Man druckt kein DataGridView sondern die gebunden Daten.
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
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;
}
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 🙁