可以左右显示,你看看DELPHI自己带的DEMO就可以了

解决方案 »

  1.   

    在qucikrep的属性里将他设为两列就可以了
      

  2.   

    就我所知道的,用QReport是不能实现的。除非在填写数据的时,在Canvas里TextOut出用打印的数据。麻烦是麻烦了点(大点),但是还是可以用此法实现。
      

  3.   

    全部实现恐怕有问题,
    不过,在beforeprint的事件中,可以进行一点处理,可以判断是不是1条记录,
    在onneeddata事件中处理一下,先设个变量iswritehead,判断是不是要写主表的记录,
    当从表记录写完后将iswritehead置真,
    根据iswritehead的情况写主表记录
      

  4.   

    to zzutlink(来溜达):
      我看了Demo,可是里面没有左右显示的例子。至于将它设为2列,我只在Page属性里找到了一个Column属性,我设成2以后,Band确实可以只显示一半,但只能一个一个挨着放,而不能直接放到右边去。不过谢谢!to wangkt(webservice):
       如果用这种方法,可不是麻烦了“点”啊,是非常非常的麻烦啊! :) 除非实在没有办法,要不然的话,我恐怕不会使用这种方法。对两位的回答非常感谢,但我还想期待更满意的答复。分数下次给。
      

  5.   

    to dhl2001(暗夜行路):
      谢谢!你的方法看起来比较切实可行,我回去试试!感谢各位!分数双手奉上!
      

  6.   

    如果你确定纸张横着够宽的话可以这样,再放一个TABLE2(或QUARY),属性与Detailtable1相同。往需要显示Detail的BAND上扔一个QRIMAGE,手工调整QRIMAGE.WIDTH为合适的宽度,右边放其他的字,在任意一个qrlabel的onprint事件下类似这样写(字体打印会粗些):
    procedure TQuickReport2.QRLabel1Print(sender: TObject; var Value: String);
    var
    afieldvalue:string;
    I:INTEGER;
    begin
    I:=30;
    with table2 do
    begin
    try
    active:=false;
    active:=true;
    first;
    while not eof do
    begin
    afieldvalue:=fieldbyname('FirstName').asstring;
    qrimage1.canvas.font.name:='宋体';
    qrimage1.canvas.font.size:=9;
    qrimage1.canvas.textout(10,10,'姓名');
    qrimage1.canvas.textout(10+i,10,afieldvalue);
    next;
    I:=i+100;
    end;
    finally
    active:=false;
    end;
    end;
    end;