菜鸟问题,QReport的问题。 (50分)

  • 主题发起人 主题发起人 ForYouForMe
  • 开始时间 开始时间
F

ForYouForMe

Unregistered / Unconfirmed
GUEST, unregistred user!
我要在一张纸上打印5行如下的记录,我是分两列的,也就是说我在一张纸上打印10条这样的
记录,可我现在只能打印2行,请问应该怎样设置?

姓名:Name
身份证号:BodyID
电话:Telphone
公司名称:CorpName

 
在报表DETIAL上放两列你需要的QRLABEL,QUERY的DATASET设为空。
然后在报表的ONDEEDDATA事件中写:
procedure TQuickreport1.QuickRepNeedData(Sender: TObject;
var MoreData: Boolean);
var
i:Integer;
begin
with query1 do
begin
if not eof then MoreData := True;
for I:= 1 to 2 do
begin
case I of
1:begin
if not query1.eof then
begin
QRL_Name1.Caption :=FieldByName('name').AsString;
QRL_BodyId1.Caption :=FieldByName('bodyid').AsString;
QRL_Telephone1.Caption :=FieldByName('telephone').AsString;
QRL_CorpoName1.Caption :=FieldByName('corponame').AsString;
end
else
begin
QRL_Name1.Caption :='';
QRL_BodyId1.Caption :='';
QRL_Telephone1.Caption :='';
QRL_CorpoName1.Caption :=''
end;
end;
2:begin
if not query1.eof then
begin
QRL_Name2.Caption :=FieldByName('name').AsString;
QRL_BodyId2.Caption :=FieldByName('bodyid').AsString;
QRL_Telephone2.Caption :=FieldByName('telephone').AsString;
QRL_CorpoName2.Caption :=FieldByName('corponame').AsString;
end
else
begin
QRL_Name2.Caption :='';
QRL_BodyId2.Caption :='';
QRL_Telephone2.Caption :='';
QRL_CorpoName2.Caption :=''
end;
end;
end;
Next;
end;
end;
end;
 
后退
顶部