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

QuickRep 列印問題(將Stringgrid內容印出)

答題得分者是:GrandRURU
eva_hsieh
一般會員


發表:5
回覆:6
積分:2
註冊:2011-04-24

發送簡訊給我
#1 引用回覆 回覆 發表時間:2011-05-24 01:28:03 IP:114.32.xxx.xxx 未訂閱
請問各位先進~(我是初學者)
透過程式運算後~我有一個表格資料如下~
產編 序號 存量 ..... 描述 (共7個colume)
1 A01 001 10 OK
2 A02 002 20 OK
3 A03 003 30 OK
(依此類推,假設共3個row)

我做一個「按鈕」的BUTTON~
裡面的程式如下: (在報表內共有8個qrlabel)
begin
//將店家名稱存在qrlabel1內,利用quickrep內的「qrband1」(type:rbtitle)列印
qrlabel1.Caption:='店家名稱';

//利用迴圈,1筆1筆資料印出,利用quickrep內的「qrband2」(type:rbdetail)列印
for y:=1 to stringgrid5.rowcount-1 do
begin
qrlabel2.Caption:=stringgrid5.Cells[1,y];
qrlabel3.Caption:=stringgrid5.Cells[2,y];
qrlabel4.Caption:=stringgrid5.Cells[3,y];
qrlabel5.Caption:=stringgrid5.Cells[4,y];
qrlabel6.Caption:=stringgrid5.Cells[5,y];
qrlabel7.Caption:=stringgrid5.Cells[6,y];
qrlabel8.Caption:=stringgrid5.Cells[7,y];

QRCompositeReport1.Print;
end;

QuickRep1.Preview;
end;

結果~它preview出來是"灰的"(沒有任何資料)~連A4紙白的樣子都沒有出現~
-------------------------------------------------------------------------------
Q1.
我曾經改過qrband的type值,曾一度改到有資料出現,但只有最後一筆資料而已,
但現在怎麼改type值preview都無資料了,請問報表那邊要怎麼設定才正確呢?

Q2.
我程式設計沒有使用資料庫,所以才想用「變數」將表格值代入報表內,
這樣的方式行得通嗎? 若行不通,是否懇請各位先進教我~謝謝~

Q3.
請問各位先進是否可推薦「相關書籍」供我學習~謝謝各位先進~
GrandRURU
站務副站長


發表:235
回覆:1655
積分:1753
註冊:2005-06-21

發送簡訊給我
#2 引用回覆 回覆 發表時間:2011-05-24 08:42:47 IP:59.120.xxx.xxx 未訂閱
Orz
A1 A2.
沒有DataSet, preview當然是一片空啊!
不要再拔獅子的鬃毛了!

請善用ClientDataSet,我相信網路上和書上有很多關於它的知識和教學
因為我的D7有點問題,我改用BCB6實作你的東西
http://delphi.ktop.com.tw/download.php?download=upload/4ddafd27d40b5_QuickRepDemo.7z
包含了ClientDataSet, QuickRep 如果不能開專案,你也可以先執行程式看看結果,再比對一下程式內容。

A3.
陳惟彬老師寫的
Delphi進銷存程式設計 BDE Quick Report
Delphi與資料庫開發手札 - 存貨財務會計系統開發實錄 DBX Rave Report
C Builder資料庫程式設計 - 人事薪資系統 DBX Quick Report

===================引 用 eva_hsieh 文 章===================
請問各位先進~(我是初學者)
透過程式運算後~我有一個表格資料如下~
產編 序號 存量 ..... 描述 (共7個colume)
1 A01 001 10 OK
2 A02 002 20 OK
3 A03 003 30 OK
(依此類推,假設共3個row)

我做一個「按鈕」的BUTTON~
裡面的程式如下: (在報表內共有8個qrlabel)
begin
//將店家名稱存在qrlabel1內,利用quickrep內的「qrband1」(type:rbtitle)列印
qrlabel1.Caption:='店家名稱';

//利用迴圈,1筆1筆資料印出,利用quickrep內的「qrband2」(type:rbdetail)列印
for y:=1 to stringgrid5.rowcount-1 do
begin
qrlabel2.Caption:=stringgrid5.Cells[1,y];
qrlabel3.Caption:=stringgrid5.Cells[2,y];
qrlabel4.Caption:=stringgrid5.Cells[3,y];
qrlabel5.Caption:=stringgrid5.Cells[4,y];
qrlabel6.Caption:=stringgrid5.Cells[5,y];
qrlabel7.Caption:=stringgrid5.Cells[6,y];
qrlabel8.Caption:=stringgrid5.Cells[7,y];

QRCompositeReport1.Print;
end;

QuickRep1.Preview;
end;

結果~它preview出來是"灰的"(沒有任何資料)~連A4紙白的樣子都沒有出現~
-------------------------------------------------------------------------------
Q1.
我曾經改過qrband的type值,曾一度改到有資料出現,但只有最後一筆資料而已,
但現在怎麼改type值preview都無資料了,請問報表那邊要怎麼設定才正確呢?

Q2.
我程式設計沒有使用資料庫,所以才想用「變數」將表格值代入報表內,
這樣的方式行得通嗎? 若行不通,是否懇請各位先進教我~謝謝~

Q3.
請問各位先進是否可推薦「相關書籍」供我學習~謝謝各位先進~
eva_hsieh
一般會員


發表:5
回覆:6
積分:2
註冊:2011-04-24

發送簡訊給我
#3 引用回覆 回覆 發表時間:2011-05-29 17:21:42 IP:114.32.xxx.xxx 未訂閱
請問GrandRURU大大~
首先先感謝您的回覆~
關於您的建議我試了但是產生下列的問題~
再麻煩您協助一下~謝謝~

Q1.您的檔案,我無法執行(它會出現下列圖示),我上網找了一下此檔並放於windows\system32內還是會出現此錯誤訊息~
不過我有開啟.dfm檔大致看了一下並試著做看看~




Q2.我使用了ClientDataSet1 和 Datasource1元件了,我在ClientDataSet1內的FieldDefs和IndexDefs內都有設定好欄位名稱了,
我寫了下列一段程式,發現他只有存入最後一個欄位資料而已,其它欄位資料沒有存入,這是什麼原因? 謝謝大大~
PS.另外我有多做一個dbgrid1去連結datasource1去看看clientdataset1跑完我上述的程式後,有沒有把值丟入,但我發現它沒有存入其它的值,只有在每筆的最後一個欄位有存入正確的值而已,我有確認過程式在跑時,每個stringgrid5.Cells[1,y]值都是正確的,只是不知為什麼值不會存入clientdataset內~謝謝~


[code delphi]
clientdataset1.Close;
clientdataset1.Open;

for y:=1 to stringgrid5.rowcount-1 do
begin
clientdataset1.Insert;

ClientDataSet1.FieldByName('P_no').AsString:=stringgrid5.Cells[1,y];
ClientDataSet1.FieldByName('P_sn').AsString:=stringgrid5.Cells[2,y];
ClientDataSet1.FieldByName('S_qty').AsString:=stringgrid5.Cells[3,y];
ClientDataSet1.FieldByName('C_qty').AsString:=stringgrid5.Cells[4,y];
ClientDataSet1.FieldByName('L_qty').AsString:=stringgrid5.Cells[5,y];
ClientDataSet1.FieldByName('AREA').AsString:=stringgrid5.Cells[6,y];
ClientDataSet1.FieldByName('DES').AsString:=stringgrid5.Cells[7,y];

ClientDataSet1.Post;
end;
[/code]

===================引 用 GrandRURU 文 章===================
Orz
A1 A2.
沒有DataSet, preview當然是一片空啊!
不要再拔獅子的鬃毛了!

請善用ClientDataSet,我相信網路上和書上有很多關於它的知識和教學
因為我的D7有點問題,我改用BCB6實作你的東西
http://delphi.ktop.com.tw/download.php?download=upload/4ddafd27d40b5_QuickRepDemo.7z
包含了ClientDataSet, QuickRep 如果不能開專案,你也可以先執行程式看看結果,再比對一下程式內容。

A3.
陳惟彬老師寫的
Delphi進銷存程式設計 BDE Quick Report
Delphi與資料庫開發手札 - 存貨財務會計系統開發實錄 DBX Rave Report
C Builder資料庫程式設計 - 人事薪資系統 DBX Quick Report
eva_hsieh
一般會員


發表:5
回覆:6
積分:2
註冊:2011-04-24

發送簡訊給我
#4 引用回覆 回覆 發表時間:2011-05-30 01:37:14 IP:114.32.xxx.xxx 未訂閱
謝謝各位大大~
我找到原因了~
因為我在clientdataset設定欄位屬性(資料型態) 與 要存放值時的屬性(資料型態) 不同~
故它無法存入~我重新再做一個clientdataset將所有的欄位改成string的屬性後~
(因為它的屬性我有改過,但是它還是依照我第一次設的資料型態為主,故重做)
再將值丟入,利用dbgrid來檢查是否值都有正確放入後,我的報表就能順利產生了~ ^^
謝謝各位大大不吝指教~
===================引 用 eva_hsieh 文 章===================
請問GrandRURU大大~
首先先感謝您的回覆~
關於您的建議我試了但是產生下列的問題~
再麻煩您協助一下~謝謝~

Q1.您的檔案,我無法執行(它會出現下列圖示),我上網找了一下此檔並放於windows\system32內還是會出現此錯誤訊息~
不過我有開啟.dfm檔大致看了一下並試著做看看~




Q2.我使用了ClientDataSet1 和 Datasource1元件了,我在ClientDataSet1內的FieldDefs和IndexDefs內都有設定好欄位名稱了,
我寫了下列一段程式,發現他只有存入最後一個欄位資料而已,其它欄位資料沒有存入,這是什麼原因? 謝謝大大~
PS.另外我有多做一個dbgrid1去連結datasource1去看看clientdataset1跑完我上述的程式後,有沒有把值丟入,但我發現它沒有存入其它的值,只有在每筆的最後一個欄位有存入正確的值而已,我有確認過程式在跑時,每個stringgrid5.Cells[1,y]值都是正確的,只是不知為什麼值不會存入clientdataset內~謝謝~


[code delphi]
clientdataset1.Close;
clientdataset1.Open;

for y:=1 to stringgrid5.rowcount-1 do
begin
clientdataset1.Insert;

ClientDataSet1.FieldByName('P_no').AsString:=stringgrid5.Cells[1,y];
ClientDataSet1.FieldByName('P_sn').AsString:=stringgrid5.Cells[2,y];
ClientDataSet1.FieldByName('S_qty').AsString:=stringgrid5.Cells[3,y];
ClientDataSet1.FieldByName('C_qty').AsString:=stringgrid5.Cells[4,y];
ClientDataSet1.FieldByName('L_qty').AsString:=stringgrid5.Cells[5,y];
ClientDataSet1.FieldByName('AREA').AsString:=stringgrid5.Cells[6,y];
ClientDataSet1.FieldByName('DES').AsString:=stringgrid5.Cells[7,y];

ClientDataSet1.Post;
end;
[/code]
系統時間:2017-12-13 22:50:27
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!