为什么在OnNeedData事件中赋值的报表打印不出来?(200分)

  • 主题发起人 主题发起人 gdst
  • 开始时间 开始时间
G

gdst

Unregistered / Unconfirmed
GUEST, unregistred user!
我在OnNeedData事件中赋值是这样写的:
procedure Tprintpre.QuickRep1NeedData(Sender: TObject;
var MoreData: Boolean);
begin

if not Table1.Eof then

begin

MoreData:=true;
id.Caption:=Table1.FieldByName('id').asstring;

//id是在BandType为rbDetail的QRBand中的QrLabel
....
end
else

MoreData:=false;

end;


预览该报表时,没有什么问题。
各条记录都能显示但是打印打印不出来。
 
直接调用PRINT,试试,我在预览界面中好象也打不出来
 
okhai
我直接调用PRINT 即用QuickRep1.print
也打印不出来
 
是不是在打印前没有FIRST,而出现Table1.Eof, 再试,哈
 
因为在预览时已经Table1.Next到Table1.Eof,
应该加入一条语句Table1.First.
 
你應該在報表的PrintBefore事件中加句 if Table1.active then
Table1.First;
 
谢谢各位
我早已有加入一条语句Table1.First;跟这没关系;
我的程序 报表的预览完全没有问题
预览出来的数据完全正确
关键是打印不出来。
我第一次使用不连接数据库,而是在OnNeedData事件中赋值进行报表打印
还不是太清楚。
麻烦各位帮忙。






 
如果是直接调用Print也打印不出来,那就不是OnNeedData的问题,
看一看你的QuickRep的PaperSize是否设为Custom, 若是则改为其它
的吧!因为这种情况下QuickRep打印不出任何结果,我也不知道是为
什么!
 

我的QuickRep的PaperSize不设为Custom而是设为A4
即使QuickRep的PaperSize设为Custom
在连接数据库的QuickRep的情况下也能打印
我的QuickRep是不连接数据库 而是在OnNeedData事件中赋值


 
看来与 OnNeedData 无关,
(加个 Title band , Column Header Band 之类的上去看看?空的也好)
 
直接加一个 QRLabel ,打一下看看能不能出来再说!
 
多人接受答案了。
 
后退
顶部