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

如何实现双击删除DBGRID某一记录

答題得分者是:cashxin2002
ntjrr
高階會員


發表:240
回覆:312
積分:110
註冊:2005-04-24

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-05-24 21:19:03 IP:222.184.xxx.xxx 未訂閱
如图所示 如何能够双击时删除DBGRID某一记录?这个记录是在一个数据表中取得的,本来在数据表中每增加一个记录就发生一个TABLE after post事件用来求总金额的。现在可不可以用after delete再发生同样的事件来重新求新的总金额? 發表人 - ntjrr 於 2005/05/24 21:23:03
------
我的编程起步于ktop,我将永远支持ktop
cashxin2002
版主


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

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-05-25 09:11:00 IP:202.62.xxx.xxx 未訂閱
您好﹗    在DBGrid元件的OnDblClick事件中加入﹕ADOTable2.Delete;即可 關于重新累計的問題﹐請參考如下﹕ 可以直接使用迴圈方法來累計ADOTable2中[單項累計]欄位的值﹐但這種方法存在一定的問題﹐如迴圈中資料錄指針的移動﹐會出現閃爍等現象﹐當然﹐可以使用相關的方法來解決這樣的問題﹐但對于資料筆數較多的情況下﹐SQL的Sum語法可以取得較好的效率﹒在Form中加一個ADOQuery1元件﹐設定其Connection屬性值相同于ADOTable2﹐然后在ADOTable2的AfterPost和AfterDelete事件中計算累計值﹐之所以寫在這兩個事件中的原因是﹐這兩個事件是資料產生異動的触發點﹐當完成修改﹑新增后的儲存﹐刪除資料﹐皆會影響累計值的變化﹐程式碼如下﹕
begin
  ADOQuery1.Close;
  ADOQuery1.SQL.Clear;
  ADOQuery1.SQL.Add('Select Sum(單項累計) From 資料表');
  ADOQuery1.Open;
  Edit1.Text := '目前的總單項累計值為﹕' + FloatToStr(ADOQuery1.Fields[0].Value);
end;
或參考您的另一篇提問﹕ http://delphi.ktop.com.tw/topic.php?TOPIC_ID=71603 ================================= 有空來瞅瞅我﹗因為我是您的朋友﹐有您真好﹗ ================================
------
忻晟
系統時間:2024-06-28 1:51:18
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!