fastreport可以实现么(100分)

  • 主题发起人 主题发起人 xito_76
  • 开始时间 开始时间
X

xito_76

Unregistered / Unconfirmed
GUEST, unregistred user!
我要求这样的功能
1.n条数据,n/2条打印在左边页面,n/2条打印在右边页面.
2.要求强制在一页中,就象excel中的"打印一页宽一页高"功能.
 
1、采用分栏打印,将page1的columns设置为2
 
我试了一下columns设置可以达到两栏打印,但是如何实现缩印成一页
 
用QuickRep不就得了:
procedure TSysCountQs.QuickRep1NeedData(Sender: TObject;
var MoreData: Boolean);
var
i: Integer;
begin
MoreData := True;
QRLabel16.Caption := '';
QRLabel17.Caption := '';
QRLabel18.Caption := '';
QRLabel19.Caption := '';
QRLabel20.Caption := '';
QRLabel21.Caption := '';
QRLabel27.Caption := '';
QRLabel26.Caption := '';
QRLabel25.Caption := '';
QRLabel24.Caption := '';
QRLabel23.Caption := '';
QRLabel22.Caption := '';
if (dmClient.cdsQuerySj.Eof) then
begin
if Lines > fFax.SpaceLine then
MoreData := False;
Lines := Lines + 1;
end;
for I:= 1 to 2do
begin
if dmClient.cdsQuerySj.Eof then
Break;
case I of
1: begin
QRLabel16.Caption := RightStr(dmClient.cdsQuerySj.FieldByName('A2').AsString,6);
QRLabel17.Caption := dmClient.cdsQuerySj.FieldByName('A5').AsString;
QRLabel18.Caption := Trim(dmClient.cdsQuerySj.FieldByName('A7').AsString);
QRLabel19.Caption := FormatFloat('0.00', dmClient.cdsQuerySj.FieldByName('A33').AsFloat);
QRLabel20.Caption := FormatFloat('0.00', dmClient.cdsQuerySj.FieldByName('A34').AsFloat);
QRLabel21.Caption := FormatFloat('0.00', dmClient.cdsQuerySj.FieldByName('A35').AsFloat);
end;
2: begin
QRLabel27.Caption := RightStr(dmClient.cdsQuerySj.FieldByName('A2').AsString,6);
QRLabel26.Caption := dmClient.cdsQuerySj.FieldByName('A5').AsString;
QRLabel25.Caption := Trim(dmClient.cdsQuerySj.FieldByName('A7').AsString);
QRLabel24.Caption := FormatFloat('0.00', dmClient.cdsQuerySj.FieldByName('A33').AsFloat);
QRLabel23.Caption := FormatFloat('0.00', dmClient.cdsQuerySj.FieldByName('A34').AsFloat);
QRLabel22.Caption := FormatFloat('0.00', dmClient.cdsQuerySj.FieldByName('A35').AsFloat);
end;
end;
dmClient.cdsQuerySj.Next;
end;
end;
 
后退
顶部