QReport要如何依列列印 |
尚未結案
|
han76816
一般會員 發表:10 回覆:9 積分:3 註冊:2010-03-08 發送簡訊給我 |
|
smallfox
高階會員 發表:2 回覆:113 積分:128 註冊:2003-02-19 發送簡訊給我 |
下列程式給你參考 ....
unit Std_PkgLabel1; interface uses Windows, SysUtils, Messages, Classes, Graphics, Controls, StdCtrls, ExtCtrls, Forms, QuickRpt, QRCtrls, DB, ADODB; type TqrStd_PkgLabel1 = class(TQuickRep) DetailBand1: TQRBand; qlTourNo1: TQRLabel; qlTourNo2: TQRLabel; qlTourNo3: TQRLabel; qlName1: TQRLabel; qlName2: TQRLabel; qlName3: TQRLabel; qlEName1: TQRLabel; qlEName2: TQRLabel; qlEName3: TQRLabel; qmAdd1: TQRRichText; qmAdd2: TQRRichText; qmAdd3: TQRRichText; procedure QuickRepBeforePrint(Sender: TCustomQuickRep; var PrintReport: Boolean); procedure QuickRepNeedData(Sender: TObject; var MoreData: Boolean); private aTourNo, aName, aEName: array[1..3] of TQRLabel; aAddre: array[1..3] of TQRRichText; public end; var qrStd_PkgLabel1: TqrStd_PkgLabel1; implementation uses DM_Unit3, Pub_Proc, Pub_Func, Pub_Init; {$R *.DFM} // -------------------------------------------------------------------------- // procedure TqrStd_PkgLabel1.QuickRepBeforePrint(Sender: TCustomQuickRep; var PrintReport: Boolean); begin aTourNo[1]:=qlTourNo1; aTourNo[2]:=qlTourNo2; aTourNo[3]:=qlTourNo3; aName [1]:=qlName1; aName [2]:=qlName2; aName [3]:=qlName3; aEName [1]:=qlEName1; aEName [2]:=qlEName2; aEName [3]:=qlEName3; aAddre [1]:=qmAdd1; aAddre [2]:=qmAdd2; aAddre [3]:=qmAdd3; // DM3.qyCustomer.First; end; procedure TqrStd_PkgLabel1.QuickRepNeedData(Sender: TObject; var MoreData: Boolean); var i: Integer; begin MoreData:=(not DM3.qyCustomer.Eof); for i:=Low(aName) to High(aName) do begin if (not DM3.qyCustomer.Eof) then begin if (DM3.qyCustomer.FieldByName(DM3.mCmpName).AsString<>'') then begin aTourNo[i].Caption:=DM3.mTour_No; aName [i].Caption:=DM3.qyCustomer.FieldByName(DM3.mCmpName).AsString; aEName [i].Caption:=DM3.qyCustomer.FieldByName(DM3.mMan1).AsString DM3.qyCustomer.FieldByName(DM3.mMan2).AsString; aAddre [i].Lines.Text:=DM3.qyCustomer.FieldByName(DM3.mAddress).AsString; // if (not aTourNo[i].Enabled) then aTourNo[i].Enabled:=True; if (not aName [i].Enabled) then aName [i].Enabled:=True; if (not aEName [i].Enabled) then aEName [i].Enabled:=True; if (not aAddre [i].Enabled) then aAddre [i].Enabled:=True; end else begin aTourNo[i].Caption:=''; aName [i].Caption:=''; aEName [i].Caption:=''; aAddre [i].Lines.Clear; end; DM3.qyCustomer.Next; end else begin aTourNo[i].Enabled:=False; aName [i].Enabled:=False; aEName [i].Enabled:=False; aAddre [i].Enabled:=False; end; end; end; end. |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |