線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:4611
推到 Plurk!
推到 Facebook!

DBGrid如何實現在最後一行加總

答題得分者是:Mickey
guohua_fu
一般會員


發表:44
回覆:50
積分:18
註冊:2003-06-19

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-07-12 12:33:30 IP:211.96.xxx.xxx 未訂閱
大家好: 在DBGrid中查出來的所有記錄,我想在最後行加上一行Total行,以便將查出來的相對應的列的數據進行加總? jacky
------
jacky
cody
一般會員


發表:0
回覆:2
積分:0
註冊:2003-07-12

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-07-12 13:37:42 IP:218.17.xxx.xxx 未訂閱
双击DBGrid,选择一个要累计的字段,再看一下其属性Footer你就明白了
cody
一般會員


發表:0
回覆:2
積分:0
註冊:2003-07-12

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-07-12 13:40:39 IP:218.17.xxx.xxx 未訂閱
我发现上面的帖看不到:) 双击DBGrid,选择一个要累计的字段,再看一下其属性Footer你就明白了
guohua_fu
一般會員


發表:44
回覆:50
積分:18
註冊:2003-06-19

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-07-12 13:50:27 IP:211.96.xxx.xxx 未訂閱
引言: 我发现上面的帖看不到:) 双击DBGrid,选择一个要累计的字段,再看一下其属性Footer你就明白了
這位大哥,能否說清楚一點,好像沒有這個Footer屬性,謝謝! jacky
------
jacky
cashxin2002
版主


發表:231
回覆:2555
積分:1937
註冊:2003-03-28

發送簡訊給我
#5 引用回覆 回覆 發表時間:2003-07-12 14:45:56 IP:63.84.xxx.xxx 未訂閱
做一個例子﹐在Form中加上ADOTable1,DataSource,DBGrid, 先作好各元件屬性設定﹐ADOTable1.Active先不要設為True(原因于例子中)﹐步驟如下﹕    1﹒雙擊ADOTable1(也可以其它資料集元件如Table等等)﹐開啟ADOTable1元件的欄位編輯器﹒    2﹒在欄位編輯器中點滑鼠右鍵﹐選擇'Add all Fields'(將所有的欄位加入編輯器)﹐然后再在欄位編輯器中點滑鼠右鍵﹐選擇'New Filed'(創健新的欄位)﹒    3﹒在出現的NewFiled對話方塊中新增一個Total欄位(在Name處輸入Total﹐Component即隨Name名稱的更改自動命名為ADOTable1Total﹐在Type中為新欄位選擇适當的型態﹐此處經Float為例﹐完成上述動作后點擊OK鍵﹒    注﹕若欄位名需要中文顯示﹐建議不要在ADOTable的欄位編輯器中新增時輸入于Name處﹐而是建立完新欄位之后﹐再在ADOTable1Total的Display Label屬性中設定﹒    4﹒將ADOTable1元件的Active設為True﹐即可在DBGrid1中看到新增的欄位Total﹐但其中并無內容﹒此時就需要你對哪些欄位進行累計作為程式碼的處理﹒    例﹕如果資料表中﹐新增的ADOTable1Total欄位值(上海人口總數)等于ADOTable1City欄位值(市區人口數)加上ADOTable1Outskirts(郊區人口數)﹐程式碼如下于ADOTable1.OnCalcFields事件中﹕ ADOTable1Total.Value := ADOTable1City.Value + ADOTable1Outskirts.Value;    5.執行此專案﹐就會看到Total中有此新計算欄位的產生了﹒    注﹕剛開始的時候﹐強調ADOTable1.Acitve屬性先不要設為True, 原因是如果先設定為True后﹐即已經成功連接上資料庫﹐就不能利用欄位編輯器進行新增欄位工作了﹒    希望這樣講你能夠理解 努力,相信會獲得美麗! 忻晟
------
忻晟
guohua_fu
一般會員


發表:44
回覆:50
積分:18
註冊:2003-06-19

發送簡訊給我
#6 引用回覆 回覆 發表時間:2003-07-12 15:21:13 IP:211.96.xxx.xxx 未訂閱
謝謝! 但我要的是整列的合計,不是每一行合計噢,比如但詢到100筆記錄,那第101行就是合計欄!這個合計欄來進行相應欄位加總。 jacky
------
jacky
star
初階會員


發表:37
回覆:93
積分:36
註冊:2002-07-18

發送簡訊給我
#7 引用回覆 回覆 發表時間:2003-07-13 11:51:05 IP:211.72.xxx.xxx 未訂閱
引言: 謝謝! 但我要的是整列的合計,不是每一行合計噢,比如但詢到100筆記錄,那第101行就是合計欄!這個合計欄來進行相應欄位加總。 jacky
那就在DataSet中動手腳吧! 以Query/ADOQuery為例, SQL語法以UNION方式來完成: SELECT '0' AAA,F1,F2 FROM TABLE1 UNION ALL SELECT '1' AAA,SUM(F1), SUM(F2) FROM TABLE1 ORDER BY 1 這樣合計就會出現在最後一行
star
初階會員


發表:37
回覆:93
積分:36
註冊:2002-07-18

發送簡訊給我
#8 引用回覆 回覆 發表時間:2003-07-13 11:58:14 IP:211.72.xxx.xxx 未訂閱
引言: 謝謝! 但我要的是整列的合計,不是每一行合計噢,比如但詢到100筆記錄,那第101行就是合計欄!這個合計欄來進行相應欄位加總。 jacky
我有點被你的列啊..行啊..給搞混了 (row? column?) 總歸來說, 你是要這100筆記錄的某些欄位合計吧! 如果是, 就用上面的方法試試看.
guohua_fu
一般會員


發表:44
回覆:50
積分:18
註冊:2003-06-19

發送簡訊給我
#9 引用回覆 回覆 發表時間:2003-07-14 14:55:48 IP:211.96.xxx.xxx 未訂閱
引言:
引言: 謝謝! 但我要的是整列的合計,不是每一行合計噢,比如但詢到100筆記錄,那第101行就是合計欄!這個合計欄來進行相應欄位加總。 jacky
我有點被你的列啊..行啊..給搞混了 (row? column?) 總歸來說, 你是要這100筆記錄的某些欄位合計吧! 如果是, 就用上面的方法試試看. =========================================================== 對,你理解了我的需求,但我還是不明白你所說的應該怎麼做,能否再詳細一 點呢? 最好能舉一個例子,謝謝這位大哥!
jacky
------
jacky
Mickey
版主


發表:77
回覆:1882
積分:1390
註冊:2002-12-11

發送簡訊給我
#10 引用回覆 回覆 發表時間:2003-07-14 22:26:41 IP:218.32.xxx.xxx 未訂閱
http://delphi.ktop.com.tw/topic.php?TOPIC_ID=26173 先看看 TDecisionGrid 是不是你所想要的. 因 TDBGrid 是資料感知元件, 所以用它來實現可能不是很恰當.
guohua_fu
一般會員


發表:44
回覆:50
積分:18
註冊:2003-06-19

發送簡訊給我
#11 引用回覆 回覆 發表時間:2003-07-15 09:05:07 IP:211.96.xxx.xxx 未訂閱
謝謝Mickey版主,這就是我要的結果。 jacky
------
jacky
系統時間:2024-04-24 8:41:11
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!