2012-01-26 27 views
0

我有下一个代码,它使用datagridview的数据创建一个打印页面。从datagridview打印数据

 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(48mmx68mm)

+0

您是否尝试打印* only * bottom部分? – Tigran

+0

纸张上的空间用完了吗? –

+0

@CodyGray我认为如此,我怎么看我是否? –

回答

0

你为什么不能使用Crystal Reports?或任何其他报告工具,可能会更好地服务于你的情况。

Tutorial for Crystal Reports