2017-02-04 22 views
0

ビットマップイメージを作成してDatagridviewを印刷しようとしていますが、うまく動作しますが、印刷するには1ページしか印刷しません。ここでWinformでのDataGridViewの印刷C#

はDataGirdViewイメージです:

enter image description here

印刷プレビュー画像

enter image description here

ここで印刷プレビューでのDataGridViewのよう最後に合計行を持っていません行が1ページしかない

印刷のコード:

private void Btn_Print_Click(object sender, EventArgs e) 
     { 
      int height = DGV.Height; 
      DGV.Height = DGV.RowCount * DGV.RowTemplate.Height * 2; 
      bmp = new Bitmap(DGV.Width, DGV.Height); 
      DGV.DrawToBitmap(bmp, new Rectangle(0, 0, DGV.Width, DGV.Height)); 
      DGV.Height = height; 
      printPreviewDialog1.ShowDialog();  

     } 

     private void printDocument1_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e) 
     { 
      e.Graphics.DrawImage(bmp, 0, 0); 
     } 

なぜ以上の1ページのデータを印刷していませんか?コードに間違いはありますか?ご提案ください。

ありがとうございます。

答えて

1

DataGridViewから複数のページを印刷するのは最も簡単なことではないので、既存のコードサンプルの1つを使用することをお勧めします。ここで使いやすく、複数のページを印刷することができますカップルは良いものです:

いくつかのより多くの例は、このSO質問から入手できます。

Best way to print a datagridview with all rows and all columns?