QRLabel的打印问题(100分)

  • 主题发起人 主题发起人 virtualmfc
  • 开始时间 开始时间
V

virtualmfc

Unregistered / Unconfirmed
GUEST, unregistred user!
下面的程序在打印时下表中的左边文字(公司名称、公司地址、...产品介绍)仅打印一次,
后面就不打了。页面示例如下:(望高手们帮小弟一把)
------------------
公司名称 [QRDBText]
公司地址 [QRDBText]
邮政编码 [QRDBText]
联系人 [QRDBText]
电话 [QRDBText]
传真 [QRDBText]
手机 [QRDBText]
网址 [QRDBText]
电子邮箱 [QRDBText]
产品介绍 [QRDBText]
------------------
请高手诊断。
procedure TQRpt.QuickRepBeforePrint(Sender: TCustomQuickRep;
var PrintReport: Boolean);
begin
with DM,DM.CardsQuerydo
begin
QRLabelRegion.Caption := '区域[' + FormMain.SelectedNode.Text + ']';
QRDBTextName.DataSet := CardsQuery;
QRDBTextAddr.DataSet := CardsQuery;
QRDBTextContact.DataSet := CardsQuery;
QRDBTextEmail.DataSet := CardsQuery;
QRDBTextFax.DataSet := CardsQuery;
QRDBTextMobile.DataSet := CardsQuery;
QRDBTextPhone.DataSet := CardsQuery;
QRDBTextPost.DataSet := CardsQuery;
QRDBTextWeb.DataSet := CardsQuery;
QRDBTextProd.DataSet := CardsQuery;
QRDBTextName.DataField := 'CstName';
QRDBTextAddr.DataField := 'Address';
QRDBTextContact.DataField :='Contact' ;
QRDBTextEmail.DataField := 'Email';
QRDBTextFax.DataField := 'Fax';
QRDBTextMobile.DataField := 'Mobile';
QRDBTextPhone.DataField := 'Phone';
QRDBTextPost.DataField := 'PostCode';
QRDBTextWeb.DataField := 'Web';
QRDBTextProd.DataField := 'Product';
end;
end;
 
QuickRep的DataSet设了没有 ?
还有你的报表结构?我可能是你做报表方法错了
 
仅打印一次,往往是没有设QuickRep的dataset属性所至,我以前也遇到这样的事!
 
首先你有没有设一个TQRBAND放在QUICKREP上,将其BandType设为rbDetail.再设好它的
DataSet,只打一笔就只能是这个问题.要不就是你的资料只有一笔.呵呵...
另外,你在BeforePrint中写这些东西干吗,直接在设计阶段将这此QRDBText设好不是更好?
 
请大家看清楚。不是QRDBText只打一笔,
而是我自己在Detail Band中放置的QRDBLabel只打印一次。
要知道,QRDBLabel根本就不需要设置什么DataSet?请问上面的问题是何原因?
 
应该不会啊!既然QRDBText都全部打印正常!没理由QRDBLabel打不出来啊!
以前我用D3,D5都很正常的!
 
一循环,找一个唯一字段做为过滤字段过滤数据库,每过滤一次打印一次不就可以了
 
同意 Dephic
我也试过这种情况+
设置了rbDetail没有?
 
你的代码写的很罗嗦,dataset的赋值如果有一百个字段,你是不是要写上一百行
为什么不用TDBText对其进行群赋值,我不知道你的问题是什么,程序看这不顺眼。
 
程序有一个rbDetail Band和一个rbTitle Band,
上面的这些东西(QRDBText和QRDBLabel)都在rbDetail中,
而且设置了QReport的DataSet.结果能打印出所有QRDBText的值(多条记录),
但除了第一条记录打印出了QRDBLabel外,
其余的记录只打印其值,QRDBLabel的位置都为空.请问是何原因?
 
找不到你说的qrdblabel;
可以把原程序发给我,qxgameplay@yesky.com
 
多人接受答案了。
 
后退
顶部