Benutzer mit den meisten Antworten
dataGridView drucken

Frage
-
Hi Leute,
ich möchte die Tabelle aus der dataGridView drucken, leider bekomme ich nur eine weiße Seite...
Sieht jemand den Fehler?private void tabelleAnzeigenComboBox3_SelectedIndexChanged(object sender, EventArgs e) { try { this.connectionBuilder2 = new MySqlConnectionStringBuilder { Server = server, Database = datenbank, UserID = user, Password = passwort }; using (MySqlConnection connection = new MySqlConnection(this.connectionBuilder2.ConnectionString)) { sql = String.Format("SELECT * FROM `{0}`", tabelleAnzeigenComboBox3.Text); datatable2 = new DataTable(tabelleAnzeigenComboBox3.Text); this.dataAdapter2 = new MySqlDataAdapter(sql, connection); this.dataAdapter2.MissingSchemaAction = MissingSchemaAction.AddWithKey; MySqlCommandBuilder builder = new MySqlCommandBuilder(this.dataAdapter2); dataAdapter2.Fill(this.datatable2); } dataGridViewAusgabe.DataSource = this.datatable2; } catch (Exception er) { MessageBox.Show("An Error Occured" + er.Message); } } private void updateButton_Click(object sender, EventArgs e) { if (this.dataAdapter2 == null) return; try { dataAdapter2.Update(datatable2); } catch (System.FormatException) { MessageBox.Show("Bitte das Format der Spate(n) beachten!"); } catch (InvalidOperationException f) { MessageBox.Show("Fehler" + f); } } private void druckenButton_Click(object sender, EventArgs e) { printDocument1.Print(); } private void printDocument1_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e) { Bitmap bm = new Bitmap(this.dataGridViewAusgabe.Width, this.dataGridViewAusgabe.Height); dataGridViewAusgabe.DrawToBitmap(bm, new Rectangle(0, 0, this.dataGridViewAusgabe.Width, this.dataGridViewAusgabe.Height)); e.Graphics.DrawImage(bm, 0, 0); }
Antworten
-
Hallo C.,
[The DataGridViewPrinter Class - CodeProject]
http://www.codeproject.com/KB/printing/datagridviewprinter.aspx[DataGridView Printing by Selecting Columns and Rows - CodeProject]
http://www.codeproject.com/KB/grid/PrintDataGridView.aspx[Printing a DataGridView on DotNet Framework - CodeProject]
http://www.codeproject.com/KB/grid/GridDrawer.Net.aspx[Gewusst wie: Drucken in Windows Forms unter Verwendung der Seitenansicht]
http://msdn.microsoft.com/de-de/library/ms404294.aspxEs kann auch sein, dass das PrintPage-Ereignis einfach nicht verbunden wurde.
Dann druckt er auch nur eine leere Seite. Teste das, indem Du im Debugger im PrintPage-Ereignis einen Haltepunkt setzt.
ciao Frank- Als Antwort markiert ColleMonster Donnerstag, 9. Juni 2011 14:03
-
Hallo C.,
- ... und wie könnte die Einbindung des PrintPage-Ereignisses so aussehen?
na, normal geht man über den Designer, klickt auf das PrintDocument, klickt auf das "gelbe Blitz-Symbol" und doppelklickt auf das PrintPage-Ereignis.
Der Code, der entsteht, sieht etwa so aus:// // printDocument1 // this.printDocument1.PrintPage += new System.Drawing.Printing.PrintPageEventHandler(this.printDocument1_PrintPage);
Diesen Code kann man natürlich auch ohne Designer so schreiben.
Stände aber auch in meinem im ersten Posting angegebenen Link zum PrintPage-Ereignis.
ciao Frank
- Als Antwort markiert ColleMonster Donnerstag, 9. Juni 2011 14:03
Alle Antworten
-
Hallo C.,
[The DataGridViewPrinter Class - CodeProject]
http://www.codeproject.com/KB/printing/datagridviewprinter.aspx[DataGridView Printing by Selecting Columns and Rows - CodeProject]
http://www.codeproject.com/KB/grid/PrintDataGridView.aspx[Printing a DataGridView on DotNet Framework - CodeProject]
http://www.codeproject.com/KB/grid/GridDrawer.Net.aspx[Gewusst wie: Drucken in Windows Forms unter Verwendung der Seitenansicht]
http://msdn.microsoft.com/de-de/library/ms404294.aspxEs kann auch sein, dass das PrintPage-Ereignis einfach nicht verbunden wurde.
Dann druckt er auch nur eine leere Seite. Teste das, indem Du im Debugger im PrintPage-Ereignis einen Haltepunkt setzt.
ciao Frank- Als Antwort markiert ColleMonster Donnerstag, 9. Juni 2011 14:03
-
Hallo C.,
- ... und wie könnte die Einbindung des PrintPage-Ereignisses so aussehen?
na, normal geht man über den Designer, klickt auf das PrintDocument, klickt auf das "gelbe Blitz-Symbol" und doppelklickt auf das PrintPage-Ereignis.
Der Code, der entsteht, sieht etwa so aus:// // printDocument1 // this.printDocument1.PrintPage += new System.Drawing.Printing.PrintPageEventHandler(this.printDocument1_PrintPage);
Diesen Code kann man natürlich auch ohne Designer so schreiben.
Stände aber auch in meinem im ersten Posting angegebenen Link zum PrintPage-Ereignis.
ciao Frank
- Als Antwort markiert ColleMonster Donnerstag, 9. Juni 2011 14:03