数据源比较简单,只有三项内容。故要求在一行中打印多个记录,如下:
数据源:
姓名    工资    岗位
胡       500    A
江       600    A
温       550    B
……报表如下:
按岗位分组:
岗位: A
姓名   胡   江   ……………………(一行13个记录)
工资   500  600  ……………………
换行,接着按以上格式继续打印别的人员。该类别打印完毕后,换页岗位: B
格式同上

解决方案 »

  1.   

    在OnGetData(好象是)自己写代码,有个什么Boolean变量,控制他就可以了
      

  2.   

    通过设置band的 columns 达到目的了。 可是新的问题又来了, 第一页一切正确,第二页开始,band的top就变了,应该如何设置子数据band的位置呢?
      

  3.   

    我也是刚做完这个,但是和页数没有关系,遇到的问题是,当你的记录是单数的时候你插入的child band会有问题,就是说最后一行会少半行的child band,如果child band不画线还没关系,画线就很难看了。这个问题我是投机取巧解决的,一直没有问到正确的做法。至于你说的band的top,我还没遇到过,你说详细点.
      

  4.   

    在QuickRepNeedData()中
    var
      i:Integer;
    首先
      i:=1;
      MoreData:=true;
      while not Table.Eof do
      begin
        if i<=13 then MoreData:=False //控制打印多少并列的列 
        else 
        begin
          MoreData:=true;
          i:=1;
        end;
        QRLabel1.Caption:=Table.Fields[0].AsString;
        //the Other 
        ……
       Table.Next;
      end;
      if Table.Eof then MoreData:=False;大致如此,我没有测试,临时写的,自己看看有没有帮助
      

  5.   

    另外,另外
    QuickRep的DataSet不要连接数据源
      

  6.   

    多谢楼上诸位的热心帮助。问题均已解决,现将方法简单写出来,以供有类似问题的朋友们参考。
    一、关于多列打印的问题
    其实,fr已经为我们设置好了这个功能,只是一般人不太常用而已。只要在需要多列打印的band中,设置 columns 就行。当然列间距和宽度是要自己设置的。
    二、关于band的top不正确的问题
    具体原因目前还不清楚。但是如果给细项数据加个细项数据尾,top的位置就会变得正常。呵呵,还有liudageng(庚行天下) 对工资数字有些疑问,~~,我还有个单位没贴出来(万元)哈哈