数据表:
master
   classid
   classname
detail
   classid
   studentid
   studentname
master.classid<---->detail.classid现在要打印出这种效果
--------------------------------
             studentname1.1
classname1   studentname1.2
             studentname1.3
----------------------------
             studentname2.1
classname2   studentname2.2
             studentname2.3
----------------------------
             studentname3.1
classname3   studentname3.2
             studentname3.3
----------------------------………………
………………
………………如何实现,谢谢!

解决方案 »

  1.   

    可以实现如下的形式:
    --------------------------------
    classname1                          //这是detail
                 studentname1.1         //
                 studentname1.2         //
                 studentname1.3         //subdetail 
    --------------------------------
    classname2
                 studentname2.1
                 studentname2.2
                 studentname2.3
    --------------------------------
    请参考Demos\QuickRpt\Qr2\Qr2demo.dpr
      

  2.   

    Demos\QuickRpt\Qr2\Qr2demo.dpr
    看完这个例子你就会啦
      

  3.   

    用两个adoquery,一个adoquery1连接master,另一个adoquery2连接detail,在adoquery1的afterscroll事件里面执行adoquery2的语句就ok了,如果还需要分页的话,也在这里写forcenewpage
      

  4.   

    不難做的,作個條件就可以了!
    procedure TForm1.DetailBand1BeforePrint(Sender: TQRCustomBand;
      var PrintBand: Boolean);
    begin
      if ... then
         QrLabel1.Caption := classname;
      else
        QrLabel1.Caption :='';
    end;
      

  5.   

    C:\Program Files\Borland\Delphi6\Demos\QuickRpt\Qr3
      

  6.   

    C:\Program Files\Borland\Delphi6\Demos\QuickRpt\Qr3目录下有一个master/slever例子