如果在Treport的DataSet属性中选定一个Table,那么QuickReport每次打印详细列表(BandType=rbDetail)属性的TQRBand时,系统会自动取出一个记录供打印,并将表中的记录指针移到下一位,这样程序无法控制表中记录指针的移动,就无法实现多栏打印。因此,只要程序不在Treport的DataSet属性选定任何表, QuickReport便不会控制表记录的提取。
   QuickReport特为其它类型数据打印提供了一个OnNeedData事件,QuickReport每次打印详细列表属性的TQRBand时,会触发这个事件,要求提供打印数据,如果程序在OnNeedData事件中编写运用表中数据提供打印资料,便能实现多栏打印。现例举实现一个Table1中Name项两栏打印的方法。
   1.在窗口上放TquickReport组件
   quickReport1,并在上面放Tband组件band1,将其BandType属性改为Detail。然后在Tband组件上并排放两个QRLabel组件QRLabel1和QRLabel2,并在quickReport1的OnNeedData事件中写如下代码:
   procedure TForm1.QuickRep1NeedData(Sender: TObject; var MoreData: Boolean);
  var
   I: integer;
  begin
QRLabel1.Caption := '';
QRLabel2.Caption := '';    MoreData := True;
if Table1.Eof then MoreData := False;    for I:= to do
   begin
    if Table1.Eof then Break;     case I of
     : QRLabel1.Caption := Table1.FieldByName('Name').AsString;
     : QRLabel2.Caption := Table1.FieldByName('Name').AsString;
    end;     Table1.Next;
   end;
  end;

  2. 为了保证打印或者打印预览开始时Table1指针在第一条记录,在quickReport1的BeforePrint事件中写如下代码:

   procedure TForm1.QuickRep1BeforePrint(Sender: TCustomQuickRep;
   var PrintReport: Boolean);
  begin
   Table1.First;
  end;

  这样,程序调用QuickRep1.Preview或者QuickRep1.Print便能预览或者打印到一个关于Name的从左至右、从上到下的多栏报表。

在QuickReport中实现多栏打印的更多相关文章

  1. zhuang 定制iOS 7中的导航栏和状态栏

    近期,跟大多数开发者一样,我也正忙于对程序进行升级以适配iOS 7.最新的iOS 7外观上有大量的改动.从开发者的角度来看,导航栏和状态栏就发生了明显的变化.状态栏现在是半透明的了,这也就意味着导航栏 ...

  2. iOS 7 教程:定制iOS 7中的导航栏和状态栏

    目录(?)[-] iOS 7中默认的导航栏 设置导航栏的背景颜色 在导航栏中使用背景图片 定制返回按钮的颜 修改导航栏标题的字体 修改导航栏标题为图片 添加多个按钮 修改状态栏的风格 隐藏状态栏 总结 ...

  3. (转)定制iOS 7中的导航栏和状态栏

    近期,跟大多数开发者一样,我也正忙于对程序进行升级以适配iOS 7.最新的iOS 7外观上有大量的改动.从开发者的角度来看,导航栏和状态栏就发生了明显的变化.状态栏现在是半透明的了,这也就意味着导航栏 ...

  4. 实现Square类,让其继承自Rectangle类,并在Square类增添新属性和方法,在2的基础上,在Square类中重写Rectangle类中的初始化和打印方法

    实现Square类,让其继承自Rectangle类,并在Square类增添新属性和方法,在2的基础上,在Square类中重写Rectangle类中的初始化和打印方法 #import <Found ...

  5. 【转】iOS中设置导航栏标题的字体颜色和大小

    原文网址:http://www.360doc.com/content/15/0417/11/20919452_463847404.shtml iOS中设置导航栏标题的字体颜色和大小,有需要的朋友可以参 ...

  6. iOS中设置导航栏标题的字体颜色和大小

    iOS中设置导航栏标题的字体颜色和大小,有需要的朋友可以参考下. 在平时开发项目的时候,难免会遇到修改导航栏字体大小和颜色的需求,一般使用自定义视图的方法,其实还存在一种方法. 方法一:(自定义视图的 ...

  7. Android中日志信息的打印方式

    Android中日志信息的打印方式主要有以下7种: 1)System.out(i级别) 2)System.err(w级别) 3)Log.v 4)Log.d 5)Log.i 6)Log.w 7)Log. ...

  8. 定制iOS 7中的导航栏和状态栏

    本文转载至 http://www.cocoachina.com/industry/20131104/7287.html 跟大多数开发者一样,我也正忙于对程序进行升级以适配iOS 7.最新的iOS 7外 ...

  9. PHP与thinkphp中var_dump()打印数组显示不全问题

    在我们进行php开发的时候,经常会使用var_dump()函数进行数组的打印,以方便我们程序的调试,而有时候我们在进行多维数组打印的时候会发现多维数组打印不全,有些地方被…代替,这就是我们php配置的 ...

随机推荐

  1. Linux进程间通信IPC学习笔记之管道

    基础知识: 管道是最初的Unix IPC形式,可追溯到1973年的Unix第3版.使用其应注意两点: 1)没有名字: 2)用于共同祖先间的进程通信: 3)读写操作用read和write函数 #incl ...

  2. 十六、mysql 分区之 简单sql优化1

    .使用 show session status like '%Com_%'; 可以查看当前连接的各个sql的执行频率 show global status like '%Com_%'; 可以查看从上次 ...

  3. css tricks

    http://css-tricks.com/styling-cross-browser-compatible-range-inputs-css/ http://css-tricks.com/brows ...

  4. MyBatis对不同数据库的主键生成策略

    本文转自:http://289972458.iteye.com/blog/1001851  http://hi.baidu.com/zim_it/blog/item/8a2bd11205f5b56ec ...

  5. TCP报头

    源端口和目的端口: 各占16位 ,服务相对应的源端口和目的端口. 序列号: 占32位,它的范围在[0~2^32-1],序号随着通信的进行不断的递增,当达到最大值的时候重新回到0在开始递增.TCP是面向 ...

  6. schtasks命令遇见ERROR: The request is not supported.

    执行schtasks命令的环境,下文为机器1:windows server 2008 r2 工作任务(Schedules)所在的机器环境,下文为机器2:windows server 2003 当在机器 ...

  7. bnuoj 20838 Item-Based Recommendation (模拟)

    http://www.bnuoj.com/bnuoj/problem_show.php?pid=20838 [题意]: 有点长,略. [code]: #include <iostream> ...

  8. wamp设置实现本机IP或者局域网访问 (转)

    <Directory /> Options FollowSymLinks AllowOverride None Order deny,allow Allow from all #以前是De ...

  9. cf 283A

    不能简单模拟(会超时)  运用一点小技巧  减少时间复杂度 #include <cstdio> #include <cstring> using namespace std; ...

  10. KafkaSpout: PartitionManager的行为分析

    KafkaSpout的核心逻辑都是由PartitionManager来实现的. 但是这个类实现时候需要考虑的东西有些多,0.92至0.93,至当前(2015.3.14)的master一直在变化.在这里 ...