如何在Qucik Report 中分为二栏处理。即逢单号的记录打印左边,双号的记录打印右边(200分)

  • 主题发起人 主题发起人 suny
  • 开始时间 开始时间
S

suny

Unregistered / Unconfirmed
GUEST, unregistred user!
如何在Qucik Report 中打印一个数据库,打印时分为二栏处理。即逢单号的记录打印左边,双号的记录打印右边。各位有何主意 ?
 
Qr分栏是可以的,但单双号这个比较难吧?
Word之类的分栏打印也不能做到这个要求吧?
在QuickRep上右键->Report Settings -> Margins框内的 ->Number of Columns 就
可以设分栏数
 
左边的的QRText的OnPrint属性中加一句table.next;
 
这样吧:
不用分栏功能,根据页面自己添Label等,然后在onNeedData中控制,参考下面的代码:
procedure TFormRepSm.QuickRep2NeedData(Sender: TObject;
var MoreData: Boolean);
var I:Integer;
begin
if not Datamodule1.Query_CKInquire.Eof then
moredata:=True
else
moredata:=false;
for I:= 1 to 2do
begin
case I of
1: begin
if Datamodule1.Query_CKInquire.Eof then
begin
QrLabel4.Caption:='';
QrLabel5.Caption:='';
QrLabel6.Caption:='';
QrLabel7.Caption:='';
QrLabel8.Caption:='';
end
else
begin
QrLabel4.Caption:=Datamodule1.Query_CKInquire.FieldByName('P_code).AsString;
QrLabel5.Caption:=copy(Datamodule1.Query_CKInquire.FieldByName('P_name').AsString,1,22);
QrLabel6.Caption:=FormatFloat('#,###',Datamodule1.Query_CKInquire.FieldByName('P_qty').AsFloat);
QrLabel7.Caption:=FormatFloat('#,###.00;;
',Datamodule1.Query_CKInquire.FieldByName('P_amt').AsFloat);
QrLabel8.Caption:=FormatFloat('#,###.00;;
',Datamodule1.Query_CKInquire.FieldByName('P_avg').AsFloat);
end;
end;
2: begin
if Datamodule1.Query_CKInquire.Eof then
begin
QrLabel19.Caption:='';
QrLabel20.Caption:='';
QrLabel21.Caption:='';
QrLabel22.Caption:='';
QrLabel23.Caption:='';
end
else
begin
QrLabel19.Caption:=Datamodule1.Query_CKInquire.FieldByName('P_code).AsString;
QrLabel20.Caption:=copy(Datamodule1.Query_CKInquire.FieldByName('P_name').AsString,1,22);
QrLabel21.Caption:=FormatFloat('#,###',Datamodule1.Query_CKInquire.FieldByName('P_qty').AsFloat);
QrLabel22.Caption:=FormatFloat('#,###.00;;
',Datamodule1.Query_CKInquire.FieldByName('P_amt').AsFloat);
QrLabel23.Caption:=FormatFloat('#,###.00;;
',Datamodule1.Query_CKInquire.FieldByName('P_avg').AsFloat);
end;
end;

end
Datamodule1.Query_CKInquire.Next;
end;
 
QRDBtext的lefts属性通过判断语句附值
if 单号 left:=小
else
left:=大
至于left的具体大小你自己调整
 
林的程序没仔细看,但思路是对的
 

Similar threads

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