2017-03-18 5 views
0

Ich habe eine DataGridView und durch Klicken auf die Schaltfläche Drucken wird die Druckvorschau angezeigt und durch Klicken auf die Schaltfläche Drucken wird der Inhalt der Druckvorschau gedruckt.C#: Der Inhalt von DataGridView erscheint nicht in gedruckter Form

Das Problem ist mein DataGridView Inhalt wird in der Druckvorschau angezeigt, aber wenn ich es als XPS-Dokument speichern. Es zeigt DataGridView Inhalt nicht. obwohl Kopf- und Fußzeile vorhanden ist. Aber nur DataGridView Daten werden nicht gedruckt.

Dies ist der Code für das Drucken Reihe:

e.Graphics.DrawString(list[i].Sr.ToString(), new Font("Arial", 12), Brushes.Black, new Point(35, yposition)); 
e.Graphics.DrawString(list[i].Name.ToString(), new Font("Arial", 12), Brushes.Black, new Point(80, yposition)); 
e.Graphics.DrawString(list[i].Packing.ToString(), new Font("Arial", 12), Brushes.Black, new Point(355, yposition)); 
e.Graphics.DrawString(list[i].Quantity.ToString(), new Font("Arial", 12), Brushes.Black, new Point(495, yposition)); 
e.Graphics.DrawString(list[i].Price.ToString(), new Font("Arial", 12), Brushes.Black, new Point(560, yposition)); 
e.Graphics.DrawString(list[i].TotalAmount.ToString(), new Font("Arial", 12), Brushes.Black, new Point(680, yposition)); 

I Visual Studio 2013 verwenden.

+0

Wahrscheinlich werden Sie den Zeilenindexer nach der Vorschau nicht zurücksetzen **, ** aber dieser Code sieht so aus, als würde er eine Liste oder ein Array drucken, keine DGV, und benötigen Sie wirklich eine ** neue ** Schriftart für jedes Element ? – Plutonix

+0

Ich benutze eine Liste, um Datengrid-Ansichtswerte zu erhalten –

+0

Bitte verwenden Sie nicht "C#" usw. in Ihren Thementiteln. Dafür sind die Tags da. – InteXX

Antwort

0

Wahrscheinlich machst du hier zu viel Arbeit.

using(Bitmap bmp = new Bitmap(800, 600)) 
{ 
    YourDataGridView.DrawToBitmap(bmp, new Rectangle(0, 0, 800, 600); 
    e.Graphics.DrawImageUnscaled(bmp, 0, 0); 
} 

Dies soll sowohl arbeiten für Printpreview und Print: Sie können Ihr gesamtes DataGridView auf einen Graphics Objekt mit dem folgenden einfachen Code ziehen.

+0

Ich würde erwarten, dass dies schrecklich aussieht. – TaW

Verwandte Themen