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

如何只偵測欄位異動?

尚未結案
yandav
一般會員


發表:16
回覆:20
積分:7
註冊:2002-10-05

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-09-27 16:05:24 IP:210.201.xxx.xxx 未訂閱
在 TDataSource 有一 OnDataChange 事件 於 記錄指標移動 或 欄位值異動 皆會觸發此事件 若只想偵測欄位是否有異動, 而不管記錄指標之移動 該用哪一個event或method或property ? 謝謝!
cashxin2002
版主


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

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-09-27 17:20:54 IP:202.62.xxx.xxx 未訂閱
您好﹗    將以下程式碼加在TDataSource元件的OnDataChange事件中試試看﹐以TADOTable為例﹕
begin
  if ADOTable1.Modified then
    ShowMessage('欄位值異動');
end;
========================= 大病初愈﹐休養調整中... =========================
------
忻晟
likush
高階會員


發表:5
回覆:235
積分:103
註冊:2002-10-08

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-09-28 01:12:20 IP:220.134.xxx.xxx 未訂閱
插個花,有錯請指正 亦可利用Tfield 的newvalue curvalue等值來判斷異動的欄位 ========================= 讀萬卷書~不如來K.TOP走一遭 =========================
Mickey
版主


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

發送簡訊給我
#4 引用回覆 回覆 發表時間:2004-09-28 22:47:37 IP:218.32.xxx.xxx 未訂閱
yandav 你好:    TDataSource 的 OnDataChange Event, "Field" 應該就可以用來判斷, 例如:
procedure TForm1.DataSource1DataChange(Sender: TObject; Field: TField);
begin
  if Field<>nil then begin // 記錄指標移動時, Field=nil
    Caption:=Field.FieldName;
  end;
end;
發表人 - Mickey 於 2004/09/28 22:49:30
yandav
一般會員


發表:16
回覆:20
積分:7
註冊:2002-10-05

發送簡訊給我
#5 引用回覆 回覆 發表時間:2004-09-30 11:11:26 IP:210.201.xxx.xxx 未訂閱
引言:
begin
  if ADOTable1.Modified then
    ShowMessage('欄位值異動');
end;
感謝 cashxin2002 , likush 及 Mickey 三位前輩的指導 但我採用 cashxin2002 的方法 因個人覺得 cashxin2002 的解答明白又簡單 謝謝
系統時間:2024-07-01 9:36:20
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!