有一个数据集结果如下:(学生的报名考试信息)
   ID  Name Sex    Class    Picture         ModuleName 
   1   张三  男    二.四班   (头像bitmap)   Windows98
   2   张三  男    二.四班   (头像bitmap)   Word97
   3   张三  男    二.四班   (头像bitmap)   Excel97
   4   张三  男    二.四班   (头像bitmap)   WPSOFFice
   5   李四  ……
我现在想做一个报表,格式如下:
    左边        中间      右边(该考生报考信息)
   姓名:张三    头像      Windows98
                          Word2000
                          Excel2000
   性别:男      头像      WpsOffice即分组信息显示在左栏,明细信息显示在右栏。
但不管是用Qreport 还是用Rave做出的分组报表、主从明细报表
都是分组栏(或主表)在前,
    明细栏在后,
做不到一个在左一个在右。(真搞不明白)另外好像主从报表都是从两个数据集取数据,
  我现在是一个数据集是否也可以实现分组或都主从打印?

解决方案 »

  1.   

    可以换个思路,做一个一般的报表。在打印Name 等分组字段时,先判断一下是否和前面一个值相同,相同则不打印(打印值为空串),这样就不存在分组的问题了,效果也应该可以达到你的要求。
      

  2.   

    对阿,如果name和前一个相同,就不显示左边栏和中间栏,就行
      

  3.   

    easy.
    先按name 排序
    不用分組,不用主從表
    定義一個數量old_name :string;
    在name對應的qrdbtext 的onprint事件裡
      if value=old_name then
        value:='';
      old_name:=adoquery1.fieldbyname('name').asstring;
    接分:)
      

  4.   

    你可以用qreport动态生成空间建立报表
      

  5.   

    Thanks.想法不错.
    但有两个问题:
    1.QRDBimage(头像bitmap)没有ONPrint事件.2.按各位建议做出来的效果如下:    左边        中间      右边(该考生报考信息)
       张三    男             Windows98
                              Word2000
                              Excel2000
                              WpsOffice
    即个人的基本信息(姓名性别等)(其实我的数据集中还有其他:单位、证件号、学历等)只能占一条记录的位置,而我想要占多条记录的位置。即效果如下:    左边                   中间      右边(该考生报考信息)
        姓名:姓名字段值                       Windows98
        性别:性别字段值                       Word2000
        单位:单位字段值                       Excel2000
        身份证号:证件号字段值                 WpsOffice中间栏显示一次该生的头像。
      

  6.   

    用FastReport好像有分栏效果,ReportBuilder也行吧
      

  7.   

    1比较麻烦,可能需要改造一下这个类了。
    后面那个用个变量记录一下倒很容易实现,不过如果右边项目只有3条,左边却有四个字段需要打印的话,怎么处理的?或者换一种方式考虑,将数据区整宽一点,左右一个QRLABEL,自己在ONPRINT事件里处理数据。
      

  8.   

    我的想法與 merkey2002(小样的) 類似