全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:3192
推到 Plurk!
推到 Facebook!

請問QReport如何顯示單頁中未滿筆數的Detail(顯示空列)?

答題得分者是:amide
asupeduer
初階會員


發表:36
回覆:49
積分:27
註冊:2002-11-08

發送簡訊給我
#1 引用回覆 回覆 發表時間:2002-12-27 17:47:54 IP:61.13.xxx.xxx 未訂閱
在使用QuickReport時,如果Details裡面只有一兩筆, 但是報表的頁面中,滿頁的筆數是十筆, 如何顯示空著的八筆或九筆呢? 這樣在制式報表上應該是比較合理吧? 但如何做呢?或只要簡單的設定即可? zong前輩給過一個方式︰ 1.預留頁首,抬頭,等。 2.把要有的明細表格畫在QuickRep 3.填入Details(不畫表格) 但是光是畫滿QuickRep就很麻煩,難道沒有更好的方法了嗎? 麻煩各位前輩了 //------------------------------------------------ 我常在想,寫程式跟爬格子到底有什麼不同呢??????????? //------------------------------------------------
------
//------------------------------------------------
我常在想,寫程式跟爬格子到底有什麼不同呢???????????
//------------------------------------------------
chih
版主


發表:48
回覆:1186
積分:639
註冊:2002-04-02

發送簡訊給我
#2 引用回覆 回覆 發表時間:2002-12-30 09:33:27 IP:211.74.xxx.xxx 未訂閱
A.QuickReport的Detail裡面先放置10行的QRLabel.. 然後用程式一個一個QRLabel給值.. 不足十筆的話QRLabel值給空值.. 雖然麻煩..但是可行 B.用TempTable... 這樣就不必畫QuickRep了..
引言: 在使用QuickReport時,如果Details裡面只有一兩筆, 但是報表的頁面中,滿頁的筆數是十筆, 如何顯示空著的八筆或九筆呢? 這樣在制式報表上應該是比較合理吧? 但如何做呢?或只要簡單的設定即可? zong前輩給過一個方式︰ 1.預留頁首,抬頭,等。 2.把要有的明細表格畫在QuickRep 3.填入Details(不畫表格) 但是光是畫滿QuickRep就很麻煩,難道沒有更好的方法了嗎? 麻煩各位前輩了 //------------------------------------------------ 我常在想,寫程式跟爬格子到底有什麼不同呢??????????? //------------------------------------------------
richcomp
中階會員


發表:18
回覆:66
積分:51
註冊:2002-10-18

發送簡訊給我
#3 引用回覆 回覆 發表時間:2002-12-30 09:58:59 IP:218.4.xxx.xxx 未訂閱
方案一: detailband中dataset不要設定,在onneeddata中賦值qrlabel,空格賦空值 方案二: clientdataset,如範例: procedure TF_summons.pre_print; var l_cou,i:integer; begin ClientDataSet1.Close; ClientDataSet1.CreateDataSet; adodataset2.First; while not adodataset2.Eof do begin ClientDataSet1.append; for i:=0 to 15 do ClientDataSet1.Fields[i].Value:=adodataset2.Fields[i].Value; adodataset2.next; end; l_cou:=ClientDataSet1.RecordCount; while l_cou mod 6<>0 do begin ClientDataSet1.Append; l_cou:=l_cou 1; end; end;
amide
一般會員


發表:4
回覆:13
積分:13
註冊:2002-07-11

發送簡訊給我
#4 引用回覆 回覆 發表時間:2002-12-30 10:20:39 IP:211.22.xxx.xxx 未訂閱
其實可以不用這麼麻煩,你可以使用QRStringsBand1試試看, 我用它解決過很多類似的問題...使用也很簡單.
chih
版主


發表:48
回覆:1186
積分:639
註冊:2002-04-02

發送簡訊給我
#5 引用回覆 回覆 發表時間:2002-12-30 10:54:53 IP:211.74.xxx.xxx 未訂閱
不好意思...以前沒有用過QRStringsBand1.. 剛Try了一下..如果Items裡面設定5行..他好像是重覆印出5次資料?? 可否請 amide 大概說一下用法ㄋ ?? THANKS...
引言: 其實可以不用這麼麻煩,你可以使用QRStringsBand1試試看, 我用它解決過很多類似的問題...使用也很簡單.
amide
一般會員


發表:4
回覆:13
積分:13
註冊:2002-07-11

發送簡訊給我
#6 引用回覆 回覆 發表時間:2002-12-30 13:46:02 IP:211.22.xxx.xxx 未訂閱
// 在這裡先確定要印幾筆資料,包括要補足的筆數 procedure TForm2.QuickRep1BeforePrint(Sender: TCustomQuickRep; var PrintReport: Boolean); var i, j : Integer; begin if( (ADOQuery1.RecordCount mod 10) > 0 ) then i := ADOQuery1.RecordCount 10 - (ADOQuery1.RecordCount mod 10) else i := ADOQuery1.RecordCount; for j:=1 to i do begin // 設定需要幾行,如果是一頁要10行,可是資料只有5行.. //那就要Add 10筆,不是5筆 QRStringsBand1.Items.Add(IntToStr(QRStringsBand1.Items.Count 1)); end; end; // 在這裡開始填入資料 procedure TForm2.QRStringsBand1BeforePrint(Sender: TQRCustomBand; var PrintBand: Boolean); begin if( not ADOQuery1.Eof ) then begin QRLabel1.Caption := Trim(ADOQuery1.Fields.Fields[0].AsString); ADOQuery1.Next; end else begin // 補足的行數資料要清空. QRLabel1.Caption := ''; end; end; 我試過了...是可以的..你試看看吧!!
asupeduer
初階會員


發表:36
回覆:49
積分:27
註冊:2002-11-08

發送簡訊給我
#7 引用回覆 回覆 發表時間:2003-01-08 02:46:18 IP:61.13.xxx.xxx 未訂閱
感謝amide前輩的幫忙, 這方法不錯,但是總感覺Quick Report不是那麼好用 我想是否該換個工具呢? //------------------------------------------------ 我常在想,寫程式跟爬格子到底有什麼不同呢??????????? //------------------------------------------------
------
//------------------------------------------------
我常在想,寫程式跟爬格子到底有什麼不同呢???????????
//------------------------------------------------
btclee
一般會員


發表:0
回覆:1
積分:0
註冊:2008-06-03

發送簡訊給我
#8 引用回覆 回覆 發表時間:2008-06-03 21:48:26 IP:59.125.xxx.xxx 訂閱
可以請問一下:
若要連續多頁列印,QRStringsBand1.Items.Add(IntToStr(QRStringsBand1.Items.Count 1)) 這值似乎會持續累加到下一頁,該如何將 QRStringsBand1.Items.Count 的值設初始呢?

===================引 用 amide 文 章===================
for j:=1 to i do
begin
// 設定需要幾行,如果是一頁要10行,可是資料只有5行..
//那就要Add 10筆,不是5筆
QRStringsBand1.Items.Add(IntToStr(QRStringsBand1.Items.Count 1));
end;
end;
編輯記錄
btclee 重新編輯於 2008-06-04 08:33:41, 註解 無‧
系統時間:2024-04-26 20:25:09
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!