unit Unit1;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs,qrextra,QRPrntr, ExtCtrls, QuickRpt, ComCtrls, QRCtrls, DB, ADODB,
Buttons;type
TForm1 = class(TForm)
QRPreview1: TQRPreview;
Panel1: TPanel;
ProgressBar1: TProgressBar;
Panel2: TPanel;
QuickRep1: TQuickRep;
ADOQuery1: TADOQuery;
Panel3: TPanel;
SpeedButton1: TSpeedButton;
SpeedButton2: TSpeedButton;
SpeedButton3: TSpeedButton;
SpeedButton4: TSpeedButton;
SpeedButton5: TSpeedButton;
SpeedButton6: TSpeedButton;
QRBand1: TQRBand;
QRDBText1: TQRDBText;
procedure QuickRep1Preview(Sender: TObject);
procedure SpeedButton5Click(Sender: TObject);
procedure SpeedButton2Click(Sender: TObject);
procedure SpeedButton3Click(Sender: TObject);
procedure SpeedButton1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
private
{ Private declarations }
FPageCount : integer; // 生 成 报 表 的 总 页 数
public
{ Public declarations }
CurRep : TQuickRep; // 所 预 览 的 报 表
procedure UpdatePanelShow;
end;var
Form1: TForm1;implementation{$R *.dfm}
procedure TForm1.UpdatePanelShow;
begin // 更 新 显 示
Panel2.Caption :=' 第 '+inttostr(QRPreview1.PageNumber)+
' 页 总 '+inttostr(FPageCount)+' 页';
end;
procedure TForm1.QuickRep1Preview(Sender: TObject);
begin
QRPreview1.QRPrinter := TQRPrinter(Sender);
Show;
end;procedure TForm1.SpeedButton5Click(Sender: TObject);
begin
QRPreview1.ZoomToFit;
end;procedure TForm1.SpeedButton2Click(Sender: TObject);
begin
QRPreview1.Zoom:=100;
end;procedure TForm1.SpeedButton3Click(Sender: TObject);
begin
QRPreview1.ZoomToWidth;
end;procedure TForm1.SpeedButton1Click(Sender: TObject);
begin
QRPreview1.PageNumber := 1;
UpdatePanelShow;
end;procedure TForm1.FormCreate(Sender: TObject);
begin
adoquery1.Active:=True;
QuickRep1.Preview;
end;procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
CurRep := nil;
QuickRep1.Free;end;//关闭的时候 关不掉窗体。 能过close,end.
速度比不用quickrep1慢了不少。不知什么原因。上面的代码肯定有问题,谢谢
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs,qrextra,QRPrntr, ExtCtrls, QuickRpt, ComCtrls, QRCtrls, DB, ADODB,
Buttons;type
TForm1 = class(TForm)
QRPreview1: TQRPreview;
Panel1: TPanel;
ProgressBar1: TProgressBar;
Panel2: TPanel;
QuickRep1: TQuickRep;
ADOQuery1: TADOQuery;
Panel3: TPanel;
SpeedButton1: TSpeedButton;
SpeedButton2: TSpeedButton;
SpeedButton3: TSpeedButton;
SpeedButton4: TSpeedButton;
SpeedButton5: TSpeedButton;
SpeedButton6: TSpeedButton;
QRBand1: TQRBand;
QRDBText1: TQRDBText;
procedure QuickRep1Preview(Sender: TObject);
procedure SpeedButton5Click(Sender: TObject);
procedure SpeedButton2Click(Sender: TObject);
procedure SpeedButton3Click(Sender: TObject);
procedure SpeedButton1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
private
{ Private declarations }
FPageCount : integer; // 生 成 报 表 的 总 页 数
public
{ Public declarations }
CurRep : TQuickRep; // 所 预 览 的 报 表
procedure UpdatePanelShow;
end;var
Form1: TForm1;implementation{$R *.dfm}
procedure TForm1.UpdatePanelShow;
begin // 更 新 显 示
Panel2.Caption :=' 第 '+inttostr(QRPreview1.PageNumber)+
' 页 总 '+inttostr(FPageCount)+' 页';
end;
procedure TForm1.QuickRep1Preview(Sender: TObject);
begin
QRPreview1.QRPrinter := TQRPrinter(Sender);
Show;
end;procedure TForm1.SpeedButton5Click(Sender: TObject);
begin
QRPreview1.ZoomToFit;
end;procedure TForm1.SpeedButton2Click(Sender: TObject);
begin
QRPreview1.Zoom:=100;
end;procedure TForm1.SpeedButton3Click(Sender: TObject);
begin
QRPreview1.ZoomToWidth;
end;procedure TForm1.SpeedButton1Click(Sender: TObject);
begin
QRPreview1.PageNumber := 1;
UpdatePanelShow;
end;procedure TForm1.FormCreate(Sender: TObject);
begin
adoquery1.Active:=True;
QuickRep1.Preview;
end;procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
CurRep := nil;
QuickRep1.Free;end;//关闭的时候 关不掉窗体。 能过close,end.
速度比不用quickrep1慢了不少。不知什么原因。上面的代码肯定有问题,谢谢
是不是应该先,看这个 From是否存在。
然后建立,(不能用show)
然后,QuickRep1.Preview;
这样就好了。
up
关注!!