2012-01-26 34 views
0

我有下一個代碼,它使用datagridview中的數據創建一個打印頁面。如何在一個打印的頁面中適合Graphics.Draw?

Font print10B = new Font("Lucida Console", 10, FontStyle.Bold); 
Font print8B = new Font("Arial", 9, FontStyle.Regular); 
Font print6B = new Font("Arial", 8, FontStyle.Regular); 

e.Graphics.DrawString(" NOTA DE PLATA",print10B,Brushes.Black,10,10); 
e.Graphics.DrawString("-----------------------------------------", new Font(dataGridView1.Font.FontFamily, 8, FontStyle.Regular), Brushes.Black, 10, 70); 
e.Graphics.DrawString("Produs | Cant | Pret | Total ", print8B, Brushes.Black, 10, 100); 
int height = 0; 
int x = 10; 
for (int i = 0; i < dataGridView1.Rows.Count; i++) 
{ 
    e.Graphics.DrawString(dataGridView1.Rows[i].Cells["DenumireProdus"].Value.ToString(), print6B, Brushes.Black, x, 120+height); 
    e.Graphics.DrawString(dataGridView1.Rows[i].Cells["produs_cantitate"].Value.ToString(), print6B, Brushes.Black, x+70, 120 + height); 
    e.Graphics.DrawString(dataGridView1.Rows[i].Cells["produs_pret"].Value.ToString() , print6B, Brushes.Black, x+105, 120 + height); 
    e.Graphics.DrawString(dataGridView1.Rows[i].Cells["produsvaloare"].Value.ToString(), print6B, Brushes.Black, x + 135, 120 + height); 
    height += 20; 
} 
e.Graphics.DrawString("-----------------------------------------", new Font(dataGridView1.Font.FontFamily, 8, FontStyle.Regular), Brushes.Black, 10, dataGridView1.Height); 
e.Graphics.DrawString("Total: " + textBox1.Text+" RON", print10B, Brushes.Black,40, dataGridView1.Height + 10); 

直到這裏:

e.Graphics.DrawString("-----------------------------------------", new Font(dataGridView1.Font.FontFamily, 8, FontStyle.Regular), Brushes.Black, 10, dataGridView1.Height); 
e.Graphics.DrawString("Total: " + textBox1.Text+" RON", print10B, Brushes.Black,40, dataGridView1.Height + 10); 

打印機不打印上面的部分(最後2個拉繩)。爲什麼?

打印機頁面大小爲A4的比例(48毫米×68毫米)

+0

它是否到達頁面的結尾?你沒有任何邏輯來確保它適合頁面。如果時間太長,您需要在多個頁面上打印。 – 2012-01-26 22:30:43

+0

我該怎麼做? – 2012-01-26 22:59:40

+0

看到這個問題:http://stackoverflow.com/questions/8761633/how-to-find-the-actual-printable-area-printdocument – 2012-01-27 00:18:59

回答