要求,一行打印表中的两条记录
如:姓名   编号       姓名   编号
张三   001        李四   002
....   ...        ....   ...请教如何实现?

解决方案 »

  1.   

    将QuickRep1->Page->Column设为2
      

  2.   

    这个不能直接用报表中的字段控件,而是要使用报表中的Label控件。即每个你要打印的字段,你都用一个Label放在报表的BAND中。然后你在BeforePrint(Band)事件中,读出数据库的记录,将内容送到相应的Label。这样子,你就可以实现一行中打印N个记录了。
    (当然,在读第二个记录前,你要判断,是不是已到文件末尾或查询结果的末尾)
    注意,在BeforePrint事件中,你要先设置每个Label为空,这样即使最后一行,或已到数据库末,也能正确打印。这是一个很好利用BeforePrint的很好例子,通过这次练习,你会发现,你其实可以对打印作许多控制。
      

  3.   

    最简单的方法就是对数据源进行加工,将旧数据源上的每两条记录做为新数据源的一条记录,这样不就解决了.当然你必须会用TClientDataSet.
      

  4.   

    在程序里建立个临时表,字段分别是 姓名1 编号1 姓名2 编号2
    用代码把一个两列的表改为你要求的那样四列你总该会吧。
    然后qreport显示那个临时表
      

  5.   

    在AfterBand后或BeforeBand事件中进行数据的合计。也就是对数据累计。其实也就是一行,二行的代码。