C# 如何在C语言中将GridView发送到打印机#

C# 如何在C语言中将GridView发送到打印机#,c#,winforms,C#,Winforms,如何将GridView发送到C#中的打印机DataGridView是一个控件。据我所知,它没有可用的打印功能 您需要获取数据并将其格式化为报告(使用Crystal Reports或Microsoft Reporting Services之类的工具) 编辑:这里有一些关于如何操作的更多信息:您可以使用PrintDocument类和您的DataGridView的DrawToBitmap(…)方法: using System.Drawing.Printing; private void Form1_L

如何将GridView发送到C#

中的打印机DataGridView是一个控件。据我所知,它没有可用的打印功能

您需要获取数据并将其格式化为报告(使用Crystal Reports或Microsoft Reporting Services之类的工具)


编辑:这里有一些关于如何操作的更多信息:

您可以使用
PrintDocument
类和您的
DataGridView
DrawToBitmap(…)
方法:

using System.Drawing.Printing;
private void Form1_Load(object sender, EventArgs e)
{
    PrintDocument printer = new PrintDocument();
    printer.PrintPage += printer_PrintPage;
    printer.Print();
}
void printer_PrintPage(object sender, PrintPageEventArgs e)
{
    using (Bitmap bmp = new Bitmap(dataGridView1.Width, 
        dataGridView1.Height))
    {
        dataGridView1.DrawToBitmap(bmp,
            new Rectangle(0, 0, bmp.Width, bmp.Height));
        e.Graphics.DrawImage(bmp, 0, 0);
    }
    e.HasMorePages = false;
}
但是,这可能并不完全是您所需要的,因为这将完全按照表单上的外观打印
DataGridView
(即滚动条可见,而大部分数据不可见)