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

請教DBGrid裡輸入的問題

答題得分者是:Chance36
jacosun
一般會員


發表:42
回覆:64
積分:21
註冊:2003-04-18

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-04-15 13:24:24 IP:61.59.xxx.xxx 未訂閱
在DBGrid表格裡如下 number much money total 01 5 20 100 我要在表格內直接打上much 和money的數字後在total那自動產生兩者相乘的結果。請問我的語法要下在那個事件上,謝謝
Chance36
版主


發表:31
回覆:1033
積分:792
註冊:2002-12-31

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-04-15 13:36:45 IP:203.204.xxx.xxx 未訂閱
引言: 在DBGrid表格裡如下 number much money total 01 5 20 100 我要在表格內直接打上much 和money的數字後在total那自動產生兩者相乘的結果。請問我的語法要下在那個事件上,謝謝
jacosun 你好
  你可以在DataSet的BeforPost的事件中
Var
  Field : TField ;
Begin
  Field := dbGrid1.SelectedField ;
  If (Field.FieldName='much') or (Field.FieldName='money') Then Begin
    Dataset.FieldByname('total).AsFloae :=  Dataset.FieldByname('much).AsFloae 
                                          * Dataset.FieldByname('money).AsFloae ; 
  End;
End;
Fishman
尊榮會員


發表:120
回覆:1949
積分:2163
註冊:2006-10-28

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-04-15 14:38:53 IP:210.65.xxx.xxx 未訂閱
Hi jacosun,    假設 total 為 Calculated Field 或是該 DataSet 中包含 Calculated Field,且 AutoCalcFields 設為 True,也可以寫在該 DataSet 的 OnCalcFields 事件中
procedure TForm1.Query2CalcFields(DataSet: TDataSet);
Var
  Field : TField ;
Begin
  Field := dbGrid1.SelectedField ;
  If (Field.FieldName = 'much') or (Field.FieldName = 'money') Then
    Begin
        Dataset.FieldByname('total').AsFloat := Dataset.FieldByname('much').AsFloat
                                              * Dataset.FieldByname('money').AsFloat ;
    End;
End;
---------------------------------- 小弟才疏學淺,若有謬誤尚請不吝指教 ----------------------------------
------
Fishman
系統時間:2024-05-19 1:04:12
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!