报表打印输出结果为整个数据集,怎样控制单个记录输出?(80分)

  • 主题发起人 主题发起人 xgswxgw
  • 开始时间 开始时间
X

xgswxgw

Unregistered / Unconfirmed
GUEST, unregistred user!
在用报表编写打印输出某个备注字段的内容时,打印机一次输出所有记录备注字段内容,怎样控制单个记录输出?敬请告之,不胜感谢。
 
如果你使用的是QuickReport,不要将报表与DataSet连接,
在OnNeedData事件中给QRMemo控件赋值。
 
在TABLE中设置一下FILTERED 为TRUE,在ONFILTER中选出要输出的记录.
这样你爱输几条就输几条.
 
我用的是QuickReport,只需要一次打印一个记录的备注字段内容,请详细告之.
 
我用的是QuickReport,只需要一次打印一个记录的备注字段内容,请详细告之.
 

假设QREPORT 的DATASET是MASTERTABLE.
则:
MASTERTABLE.FILTERED:=TRUE;
然后编写MASTERTABLE的ONFILTERRECORD事件, 如下:
IF MASTERTABLE.FIELDBYNAME('XXX').ASSTRING = 'XXX' then
ACCEPT:=TRUE
else
ACCEPT:=FALSE;
这样, 只有满足条件的RECORD才会被送至QREPORT打印出来.
 
使用以下代码(临时想的,可能有语法错误!)
var
key:integer;
begin
key := Table1.Fields[0].AsInteger;
//fields[0]是关键字
Table1.Filter := 'ID =' + IntToStr(key);
Table1.Filtered := true;
Qrpt.Print;
end;
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
后退
顶部