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

再問如何判斷TDBGrid資料已經異動過了

答題得分者是:T.J.B
0316
一般會員


發表:32
回覆:19
積分:10
註冊:2002-07-03

發送簡訊給我
#1 引用回覆 回覆 發表時間:2002-12-27 10:36:01 IP:61.220.xxx.xxx 未訂閱
我是用TQuery搭配TDBGrid, TQuery 的 Query1.RequestLive := True; Query1.CachedUpdates := True; 這樣一來在沒執行Query1.ApplyUpdates 之前 Query1.Modified 永遠是 False 所以無法判斷TDBGrid是否已經異動過, 另TCheckBox 在 Unbound 資料庫的狀 態下似乎也無法判斷, 盼望各未前輩指點 泓遠
------
泓遠
william
版主


發表:66
回覆:2535
積分:3048
註冊:2002-07-11

發送簡訊給我
#2 引用回覆 回覆 發表時間:2002-12-27 10:46:29 IP:147.8.xxx.xxx 未訂閱
Have you tried the OnDataChange event of the datasource?
T.J.B
版主


發表:29
回覆:532
積分:497
註冊:2002-08-14

發送簡訊給我
#3 引用回覆 回覆 發表時間:2002-12-27 12:16:01 IP:61.220.xxx.xxx 未訂閱
當你對dbgrid做資料異動時 其資料狀態雖暫存在Cached裡頭 但是卻會直接反映在query 所以當你對dbgrid做異動後 要判斷dbgrid是否有做過資料異動 可以直接對query做判斷 舉例 if Query1.updatepanding then <---判斷query1資料是否曾經異動過 query1.applyupdates; 天行健 君子當自強不息~~@.@
------
天行健
君子當自強不息~~@.@
0316
一般會員


發表:32
回覆:19
積分:10
註冊:2002-07-03

發送簡訊給我
#4 引用回覆 回覆 發表時間:2002-12-27 15:16:01 IP:61.220.xxx.xxx 未訂閱
Delphi 5.0 TQuery 沒有 updatepanding 屬性 我最主要的目的是當User編輯資料後按下放棄Button時, 如資料已異動就提示是否要放棄, 反之則不用. 泓遠
------
泓遠
T.J.B
版主


發表:29
回覆:532
積分:497
註冊:2002-08-14

發送簡訊給我
#5 引用回覆 回覆 發表時間:2002-12-27 16:28:46 IP:61.220.xxx.xxx 未訂閱
引言: Delphi 5.0 TQuery 沒有 updatepanding 屬性 我最主要的目的是當User編輯資料後按下放棄Button時, 如資料已異動就提示是否要放棄, 反之則不用. 泓遠
對不起 筆誤 是UpdatesPending (要多加一個s) delphi5 有這個屬性 範例給你參考
procedure TForm1.Button1Click(Sender: TObject);
begin
  if Query1.UpdatesPending then
  begin
    if Application.MessageBox(Pchar('資料有異動是否放棄修改..'),'訊息視窗',MB_OK MB_OKCANCEL)=IDOK THEN
    begin
      query1.Cancel;
    end;
  end
  else
  begin
    Query1.Cancel;
  end;
end;
天行健 君子當自強不息~~@.@ 發表人 - T.J.B 於 2002/12/27 16:32:14
------
天行健
君子當自強不息~~@.@
系統時間:2024-07-01 4:46:34
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!