標籤:
轉自:http://guohongjian81.blog.163.com/blog/static/34535941201011109592160/
1.單據中有多行資料,但預覽時只顯示部分內容,或者列印內容行與行之間有間隔
FASTREPOR屬性中:設定RowCount=0,Start New Page為False;Stretched為True.
說明:
RowCount:控制總共列印幾行;RowCount=0是列印全部;
Start New Page:列印前先跳頁;每頁列印一行;
Stretch:表身自動調整根據表身內容;
2.在列印中設定0值列印時為空白
在FastReport中設定要顯示為指定值的列,在這列有個HideZeros設定為true,當此列值為0時,列印出來後為空白,避免因大量的0看起來暈;
3.在列印中設定金額或數量的小數位元
FASTREPOR屬性中:使用DisplayFormat(資料顯示格式)——數字——1234.50
%2.0f:以整數形式顯示;
%2.2f:顯示兩位小數;
%2.3f:顯示三位小數位,可根據情況進行調整。
4.在列印中設定日期/時間的格式
FASTREPOR屬性中:使用DisplayFormat(資料顯示格式)——日期/時間——11.28.2002
mm.dd.yyyy:顯示月.日.年
mm.dd:顯示月.日
mm:顯示兩位的月
5.當欄位的值為零時顯示為空白
FASTREPOR屬性中:設定HideZeros(數字前面的0是否顯示)為True
6.自動換行
1)選擇資料單元進行群組;
2)StretchMode為smMaxHtight;WordWrap為True;Stretched為True.
說明:
StretchMode:對象伸縮的行為;
WordWrap:文本是否自動換行;
7.合計
[SUM(<進/銷/退/折表身檔."AMTN_NET">,MasterData2)]
8.每頁合計
將定義好的合計函數放到‘欄尾’中即可。
9.全表合計
將定義好的合計函數放到‘報表合計’中即可。
10.金額大寫
在報表設計中使用函數:ConbertNumToChinese()
合計金額大寫:[ConvertNumToChinese(SUM(<進/銷/退/折表身檔."AMTN_NET">,MasterData2))]
負數合計金額大寫:[ConvertNumToChinese(Abs(SUM(<進/銷/退/折表身檔."AMTN_NET">,MasterData2)))]
11.報表中列印行數
在報表設計中使用變數——系統變數Line#
12.連打
1) 單據——速查,查出要列印的單據;
2)列印——查詢資料——預覽——列印,選擇多張單據進行連打。
13.連打打到同一頁
列印——設計——版面設定——勾選“列印至前一頁”,“伸展至列印區”
14.列印固定行數,不足補空白行代碼(語言:PascalScript)
var
PageLine: integer;
PageMaxRow: integer=5; //每頁列印的行數
procedure Footer1OnBeforePrint(Sender: TfrxComponent);
var
i: integer;
begin
i := iif(PageLine=0, PageMaxRow, PageLine);
while i < PageMaxRow do begin
i := i + 1;
Engine.ShowBand(Child1); //印空白表格
end;
end;
procedure MasterData2OnBeforePrint(Sender: TfrxComponent);
begin
PageLine := <line> mod PageMaxRow;
if (PageLine = 1) and (<line> > 1) then
Engine.newpage;
end;
begin
end.
14. 電子簽名代碼(語言:BasicScript)
sub MasterData2OnBeforePrint(Sender)
if length(<進銷貨表頭檔.”CHK_MAN”>)>0 then picture2.visible=true
end sub
【轉】fastreport常用列印設定