当前位置:跳过导航链接计算机毕业设计首页 : 技术应用 : 详细内容

利用C#实现DataGrid或DataGridView控件的打印

来源:本站原创 作者:管理员 添加时间:2011-02-27 点击数:2076

1、相关介绍:

用C#在开发程序时,往往会用到打印功能,本文介绍如果用C#实现DataGrid或DataGridView控件的打印功能,如下介绍所示:

1):首先,需要在界面上拖3个打印控件,如下所示:

2):其次,需要指定“pageSetupDialog1”的“Document”属性为“printDocument1”,另外,还有“printPreviewDialog1”的“Document”属性也要指定为“printDocument1”。

3):接下来,需要在打印按钮里添加以下代码:

以下是引用片段:
         if (ds.Tables[0].DefaultView.Count>0)
            {
                printPreviewDialog1.ShowDialog();//打印预览
            }

4):然后,需要为printDocument1_PrintPage添加以下代码:

以下是引用片段:
private void printDocument1_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e)
        {
            //设置字体
            Font objFont = new Font("Tahoma", 11, FontStyle.Regular);
            Brush objBrush = Brushes.Black;
            Pen objPen = new Pen(objBrush);
            //设置边距
            int nLeft = this.pageSetupDialog1.PageSettings.Margins.Left;
            int nTop = this.pageSetupDialog1.PageSettings.Margins.Top;
            int nWidth = this.pageSetupDialog1.PageSettings.PaperSize.Width -
                (this.pageSetupDialog1.PageSettings.Margins.Left +
                this.pageSetupDialog1.PageSettings.Margins.Right);
            int nHeigh = this.pageSetupDialog1.PageSettings.PaperSize.Height -
                (this.pageSetupDialog1.PageSettings.Margins.Top +
                this.pageSetupDialog1.PageSettings.Margins.Bottom);
            //打印出表头
            e.Graphics.DrawString("表名称", new Font("Garamond", 20, FontStyle.Bold), Brushes.Blue, nLeft + 150, nTop + 10);
        

            try
            {
                int line = 1;
                for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
                {
                    for (int j = 0; j < ds.Tables[0].Columns.Count; j++)
                    {
                        e.Graphics.DrawString(ds.Tables[0].Rows[i][j].ToString(), objFont, objBrush, nLeft + 70*j, nTop + 80 + line * 30);
                       
                     
                    }
                    line++;
                   
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }

<责任编辑:计算机毕业设计网(http://www.xiaoniu168.com)>

第1页

【联系方式】

【本站信誉】

用心做计算机毕业设计论文网