我没用过MSFLEXGRID,但我有一个思路:最先取得MSFLEXGRID的hWnd,
然后用“GetDC”函数取得DC,
再打印那个DC。

解决方案 »

  1.   

    老板要求用MSFLEXGRID显示
    为ISO9002做准备
    可以调阅
    查询输出
    可以打印
      

  2.   

    MSHFlexGrid 控件的一个主要特性是它能显示层次结构记录集—以层次结构方式显示的关系表。创建层次结构记录集的最容易的方法是使用数据环境设计器并把 MSHFlexGrid 控件的 DataSource 属性赋给数据环境。您也可以用 Shape 命令作为 ADO Data Control 的 RecordSource 在代码中创建层次结构记录,如下面的示例:' 创建 ConnectionString.
    Dim strCn As String
    strCn = "Provider=MSDataShape.1;Data Source=Nwind;" & _
    "Connect Timeout=15;Data Provider=MSDASQL"' 创建 Shape 命令.
    Dim strSh As String
    strSh = "SHAPE {SELECT * FROM `Customers`}  AS Customers " & _
    "APPEND ({SELECT * FROM `Orders`}  AS Orders RELATE " & _
    "CustomerID TO CustomerID) AS Orders"' 把 ConnectionString 赋给 ADO Data Control 的
    ' ConnectionString 属性, Shape 命令以及
    ' 控件的 RecordSource 属性.
    With Adodc1
       .ConnectionString = strCn
       .RecordSource = strSh
    End With
    ' 把 HflexGrid 控件的 DataSource 属性设置到 
    ' ADO Data 控件。
    Set HFlexGrid1.DataSource = Adodc1
      

  3.   

    realy no one to try ???
      

  4.   

    你可以先八数据泄劲已数据库里,然后用data.environment打开此db,把表头的字段放在command1里,把表格内要循环输出的数据放在command1的child command里.然后在data.reportor里设计你的表单.在reportor里添加代码,定义lbl,shape,txt等 as new collection,在reportor.sections.item("command_header").control的每个对象里,把lbl add to rptlabel,shape add to rptshape,...然后打开command1的child command,把要打印的数据结合标签,文本,线条组合成一张要打印的报表.注意每个数据项的位置定位很重要.
      

  5.   

    可以把数据导入Excel,然后打印
      

  6.   

    对不起,有几个字打错了.你可以先把数据写进一数据库里,然后用data.environment打开此db,把表头的字段放在command1里,把表格内要循环输出的数据放在command1的child command里.然后在data.reportor里设计你的表单.在reportor里添加代码,定义lbl,shape,txt等 as new collection,在reportor.sections.item("command_header").control的每个对象里,把lbl add to rptlabel,shape add to rptshape,...然后打开command1的child command,把要打印的数据结合标签,文本,线条组合成一张要打印的报表.注意每个数据项的位置定位很重要.
      
      

  7.   

    显示可以用MSHFlexGrid,但打印不一定要用它,你的MSHFlexGrid显示不过是一个RS记录集而已,你可以用现成的报表组件来打印他,如CELL组件,EXCEL也可以完成这项工作。