請教DBGrid裡輸入的問題 |
答題得分者是:Chance36
|
jacosun
一般會員 發表:42 回覆:64 積分:21 註冊:2003-04-18 發送簡訊給我 |
|
Chance36
版主 發表:31 回覆:1033 積分:792 註冊:2002-12-31 發送簡訊給我 |
引言: 在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 發送簡訊給我 |
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 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |