有谁告诉我啊?网上下了一大堆打印控件,但都不教怎么用,说一大堆无关重要的事情。我只想知道,点击一个按钮,把datagrid里面的东西打印出来就行了。说说控件要放在什么地方??

解决方案 »

  1.   

    用什么打印控件,直接循环打印datagrid的内容就行,用printer对象
      

  2.   

    以下内容摘自MSDN:
    从应用程序中打印
    Visual Basic 为打印正文和图形提供了三种技术。 可在窗体中建立所需要的输出,然后用 PrintForm 方法打印窗体。
    通过设置 Printers 集合中的缺省的打印机,可传送正文和图形到打印机。
    可先传送正文和图形给 Printer 对象,再用 NewPage 和 EndDoc 方法打印。 
    这部分将探讨以上三种方法的优缺点。使用 PrintForm 方法
    PrintForm 方法将指定窗体的图象传送到打印机。要用 PrintForm 方法打印应用程序中的信息,需先将该信息显示在窗体中,然后再用 PrintForm 打印窗体。语法如下所示:[form.]PrintForm若省略窗体名称,则 Visual Basic 打印当前窗体。PrintForm 打印窗体的全部内容,即使窗体的某部分在屏幕上见不到。若窗体中包含图形,只有当 AutoRedraw 属性设置为 True 时,才能将图形打印出来。打印结束后,PrintForm 调用 EndDoc 方法清空打印机。例如,可通过将正文显示在屏幕上的方法,把正文传送到打印机,然后用下列语句调用 PrintForm 方法:Print "Here is some text."
    PrintFormPrintForm 方法是应用程序打印的最简便的方法。因为它可按用户屏幕的分辨率传送信息到打印机(每英寸打印 96 点),即使打印机有更高的分辨率(对于激光打印机,每英寸打印 300 点),结果也不会更好。结果根据窗体中的对象可以变化。详细信息 请参阅《语言参考》的“PrintForm 方法”。使用打印机集合
    打印机集合是一个包括操作系统中所有可用打印机的对象。打印机列表与打印安装对话框或 Windows“控制面板”中的那些有效内容相同。打印机集合中的每台打印机有唯一索引定义。索引从 0 开始,每台打印机都可根据索引编号来引用。不论用何种打印方法,所有 Visual Basic 应用程序打印输出的内容,都直接指向 Printer 对象,它最初时代表 Windows“控制面板”中指定的缺省打印机。不过,也可把 Printers 集合中的任意一台设置为缺省打印机。使用下列语法,可从打印机集合中选择打印机:Set Printer = Printers(n)下列语句打印操作系统中所有打印机的设备名称到“立即”窗口中:Private Sub Command1_Click()
    Dim x As Printer
       For Each x In Printers
          Debug.Print x.DeviceName
       Next
    End Sub注意 不能在代码中创建新的 Printer 对象实例,也不能在 Printers 集合中直接添加或删除打印机。要在系统中添加或删除打印机,应使用 Windows“控制面板”。使用 Printer 对象
    Printer 对象是一个与设备无关的图片空间,支持用 Print、PSet、Line、PaintPicture 和 Circle 方法来创建文本和图形。只有在窗体或图片框中,才能将这些方法用于 Printer 对象。Printer 对象也包括本章前面所描述的所有字体属性。当完成在 Printer 对象中放置信息后,用 EndDoc 方法将输出传送到打印机。每次应用程序结束时,它们会自动使用 EndDoc 方法,将打印机对象中任何未确定的信息送到打印机。对于各种不同的打印机,Printer 对象提供最好的打印质量,因为 Windows 在 Printer 对象设备无关的图片空间中,将文本和图形与打印机的分辨率和功能进行了最佳的匹配。也可在打印机对象中使用 NewPage 方法来打印多页文档。使用 Printer 对象的主要缺点,是取得最佳结果所需要的代码量较大。在 Printer 对象中打印位图也要花费时间,因此会降低应用程序的性能。
      

  3.   

    太麻烦了,用个第三方表格控件,填充或绑定数据,调用一个接口,打印,与你的DATAGRID一样啊.推荐  滴答表格控件下载地址:www.jjcsoft.com.cn/download/didasg_setup.rar