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

有關DBGrid的OnColExit 的問題

尚未結案
ivankuo
中階會員


發表:132
回覆:272
積分:95
註冊:2002-11-21

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-12-17 16:47:09 IP:61.221.xxx.xxx 未訂閱
小弟想要在DBGrid的其中一個columns的OnColExit去處理一些事情,但發覺到如果是在同一筆的地方,不管左右移動都會觸發此Enent,但若是往上或往下移動的話,則不會觸發此Enent,很奇怪,不曉得各位前輩是否有方式解決??
------
ivankuo
cmj
高階會員


發表:15
回覆:242
積分:226
註冊:2002-06-12

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-12-17 19:37:13 IP:211.76.xxx.xxx 未訂閱
提供下列做法供參考,OnColExit是對同一row所有column不是對某一column    procedure TFmSeno.Grid1xColExit(Sender: TObject);
var Fn:string;
  DG:TDbGrid;
procedure TFmSeno.Grid1xColExit(Sender: TObject);
var Fn:string;
  DG:TDbGrid;
begin
  DG:=TDBGrid(Sender);
  Fn:=UpperCase(DG.Columns[Dg.SelectedIndex].FieldName);
  if Fn='QTY' then //符合之欄位名稱
   begin
      //處理部份
   end;
end;
timhuang
尊榮會員


發表:78
回覆:1815
積分:1608
註冊:2002-07-15

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-12-17 22:28:13 IP:61.62.xxx.xxx 未訂閱
Hi, 因為你是使用了 OnColExit 的 Event 啊, 當然是在同一欄位上下移動時不會觸發, 但是在同一筆資料左右移動會觸發沒錯, 請問你是希望都能觸發是嗎? 還是需要什麼樣特殊的功能呢? 若是上下左右都要觸發的話, 則必須再多加寫 dataset 的 afterscroll 或 beforescroll 的事件才行哦!!
rogue
一般會員


發表:2
回覆:2
積分:0
註冊:2003-02-27

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-12-17 23:07:46 IP:218.16.xxx.xxx 未訂閱
我觉得你的问题,解决的方法应该是把代码写到相对应的field.onValid事件中, 这个事件是在你对字段有更改或赋值后,只要一离开此字段,就会触发,合要求吗?
ivankuo
中階會員


發表:132
回覆:272
積分:95
註冊:2002-11-21

發送簡訊給我
#5 引用回覆 回覆 發表時間:2003-12-18 09:43:58 IP:61.221.xxx.xxx 未訂閱
我想要的就是不管用什麼方式離開那個column就必須都能觸發某個動作,我依照timhuang前輩的方式在DataSet的beforescroll加上了,也在DBGrid的OnExit也加上了,目前已經可以達到所要的功能,感謝各位前輩熱心幫忙。
------
ivankuo
系統時間:2024-07-06 15:38:23
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!