re如何实现自动追加空网格记录(50分)

D

dohye

Unregistered / Unconfirmed
GUEST, unregistred user!
如何实现自动追加空网格记录?
已有人提问,但若用Qreport怎样
实现,我已用Qreport做了些报表
但后来客户又要求追加空网格记录!
 
什么意思?画空线??
在数据库里加了然后ROLL BACK:)
 
厉害, 不过还得设置updatesql等等(太麻烦了吧?)
onneeddata里面设moredata := true;
? (在需要的空行添够之前)
 
不要用table,做个Query,然后对Query添加空记录到每页打印记录的倍数,不就方便多了?
那用得着UpdateSQL,RollBack.对两位大虾不敬了:)
 
哪里哪里, 就是用query不能添空记录呀(大部分query的结果, 特别是多表返回的结果).
不用updatesql, rollback如何做?
 
Query如果不能添加记录,再来个笨办法,建一个同样结构的ClientDataSet,把Query的记录逐条转到ClientDataset,再对Clientdataset添加空记录总可以了吧.
 
其实并不真的需要Update和Rollback只要把Query的CachedUpdate=True就可以对Query添加空记录.
 
你可以在QuickRep的OnNeedData事件自己
循环数据库,然后空循环几次。
以下代码没有调试过
设QuickRep.dataset=nil
procedure TForm1.QuickRep1BeforePrint(Sender: TQuickRep;
var
PrintReport: Boolean);
begin
query.first;
end;

procedure TForm1.QuickRep1NeedData(Sender: TObject;
var MoreData;
Boolean);
begin
if not query.eof then
begin
QRLabel1.Caption :=query.---
....
query.next;
end
else
begin
根据需要控制空循环次数
QRLabel1.Caption:='';
if 满足了循环次数 then
moreDate:=false;
end;
end;

 
多人接受答案了。
 
顶部