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

TwwDBGrid 合計功能該如何使用呢?

答題得分者是:l630521
jch
中階會員


發表:111
回覆:224
積分:66
註冊:2003-12-01

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-10-06 09:50:34 IP:218.162.xxx.xxx 未訂閱
如題,小弟使用TwwDBGrid時,希望在GRID的下方記算該欄的合計,但不知該如何使用呢??請各位前輩大哥幫幫忙吧! ======================== 我是DELPHI5的初學者
l630521
資深會員


發表:15
回覆:349
積分:372
註冊:2003-02-17

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-10-06 10:34:47 IP:220.228.xxx.xxx 未訂閱
1.將TwwDBGrid.Options內的dgShowFooter設為True 2.在TwwDBGrid.OnUpdateFooter下寫code InforPower的範例 procedure TBitmapForm.InvoiceGridUpdateFooter(Sender: TObject); begin InvoiceGrid.ColumnByName('Balance Due').FooterValue := FloatToStrF(SumQuerySumOfBalanceDue.asFloat, ffCurrency, 10, 2); end; 不知這樣可否讓你明白? Ian
jch
中階會員


發表:111
回覆:224
積分:66
註冊:2003-12-01

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-10-06 10:48:04 IP:163.17.xxx.xxx 未訂閱
多謝大哥 FloatToStrF(SumQuerySumOfBalanceDue.asFloat, ffCurrency, 10, 2); 是否還要使用其他的元件呢?? 小弟目前是使用ADOQUERY不知該如何做?? ======================== 我是DELPHI5的初學者
l630521
資深會員


發表:15
回覆:349
積分:372
註冊:2003-02-17

發送簡訊給我
#4 引用回覆 回覆 發表時間:2004-10-06 13:11:10 IP:220.228.xxx.xxx 未訂閱
procedure TForm1.wwDBGrid1UpdateFooter(Sender: TObject); begin wwDBGrid1.ColumnByName('FieldName').FooterValue := 'Total:' IntToStr(ADOQuery1.RecordCount); end; 上面的例子是在Foot秀出TwwDBGrid裡共有幾筆資料。 ColumnByName('FieldName')的意思是你要秀在那一個欄位下面。 FooterValue是String型態,所以你要秀合計要轉成字串。 Ian
jch
中階會員


發表:111
回覆:224
積分:66
註冊:2003-12-01

發送簡訊給我
#5 引用回覆 回覆 發表時間:2004-10-06 13:24:01 IP:218.162.xxx.xxx 未訂閱
procedure TForm1.wwDBGrid1UpdateFooter(Sender: TObject); begin wwDBGrid1.ColumnByName('FieldName').FooterValue := 'Total:' IntToStr(ADOQuery1.RecordCount); end; 上面的例子是在Foot秀出TwwDBGrid裡共有幾筆資料。 ColumnByName('FieldName')的意思是你要秀在那一個欄位下面。 FooterValue是String型態,所以你要秀合計要轉成字串。 若DBGRIG中有3個欄位要計算合計,那該在哪一個事件作處理呢(計算該欄的合計)? ======================== 我是DELPHI5的初學者
l630521
資深會員


發表:15
回覆:349
積分:372
註冊:2003-02-17

發送簡訊給我
#6 引用回覆 回覆 發表時間:2004-10-06 14:12:21 IP:220.228.xxx.xxx 未訂閱
我應該會用三個變數來記錄三個欄位的合計值,然後 procedure TForm1.wwDBGrid1UpdateFooter(Sender: TObject); begin wwDBGrid1.ColumnByName('Field1').FooterValue := IntToStr(var1); wwDBGrid1.ColumnByName('Field2').FooterValue := IntToStr(var2); wwDBGrid1.ColumnByName('Field2').FooterValue := IntToStr(var2); end; 應該也可以再OnUpdateFooter中再做計算(我沒試過),但我覺得會影響效能。 Ian
jch
中階會員


發表:111
回覆:224
積分:66
註冊:2003-12-01

發送簡訊給我
#7 引用回覆 回覆 發表時間:2004-10-06 14:18:08 IP:220.130.xxx.xxx 未訂閱
多謝大哥,大小弟就在afterscroll中計算好了!! ======================== 我是DELPHI5的初學者
系統時間:2024-05-19 23:48:40
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!