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

如何阻止點選DBGrid之不同記錄而發生TTable之自動儲存?

答題得分者是:P.D.
vbkiller
一般會員


發表:65
回覆:28
積分:18
註冊:2007-03-13

發送簡訊給我
#1 引用回覆 回覆 發表時間:2009-08-07 11:59:48 IP:114.41.xxx.xxx 未訂閱
我的表格有許多dbedit及一個DBGrid和Datasource元件,至於所有TTable則放在Tdatamodule,許多dbedit元件之目的是要顯示及編輯單一筆記錄之各欄位值,DBGrid元件之目的是可以一次顯示多筆記錄,但在新增或編輯記錄之各欄位值時,若用滑鼠點選DBGrid之不同記錄,就會造成TTable之自動儲存,我不希望這樣,我希望藉由明確按儲存鈕時才發生儲存動作,要達成我的期望,我有兩種不同方法
1.藉由TTable之beforepost事件來防止自動儲存,如 if table1.stata in [dsedit,dsinsert] and postclick=false then abort; (postclick是一boolean變數,當按儲存鈕時設定為true)
2.藉由datasource之statechange事件來防止自動儲存,if table1.stata in [dsedit,dsinsert] then DBGrid.enable:=false else DBGrid.enable:=true ;

請問還有沒有其他方法可以達成我的期望 ? 請問上述兩個方法那個較好呢 ?
P.D.
版主


發表:603
回覆:4038
積分:3874
註冊:2006-10-31

發送簡訊給我
#2 引用回覆 回覆 發表時間:2009-08-07 12:59:20 IP:61.67.xxx.xxx 未訂閱
如果你是利用 dbedit 來編輯你的資料的話, 最簡單的方式就是在 edit, insert 模式下, 把 dbgrid1.enabled:= False 就好了, 這樣 dbgrid 就動不了, 自然就不會有你想像的任何問題, 直到 post 之後再解開
kadee
高階會員


發表:11
回覆:141
積分:165
註冊:2002-03-20

發送簡訊給我
#3 引用回覆 回覆 發表時間:2009-08-09 20:11:22 IP:59.127.xxx.xxx 訂閱
試試看 把 TTable.cacheupdate 設成 true,
再按[存檔]時,再 applyupdate.

必利得免費進銷存及總帳會計軟體
www.bigredinf.net/
===================引 用 vbkiller 文 章===================
我的表格有許多dbedit及一個DBGrid和Datasource元件,至於所有TTable則放在Tdatamodule,許多dbedit元件之目的是要顯示及編輯單一筆記錄之各欄位值,DBGrid元件之目的是可以一次顯示多筆記錄,但在新增或編輯記錄之各欄位值時,若用滑鼠點選DBGrid之不同記錄,就會造成TTable之自動儲存,我不希望這樣,我希望藉由明確按儲存鈕時才發生儲存動作,要達成我的期望,我有兩種不同方法
1.藉由TTable之beforepost事件來防止自動儲存,如 if table1.stata in [dsedit,dsinsert] and postclick=false then abort; (postclick是一boolean變數,當按儲存鈕時設定為true)
2.藉由datasource之statechange事件來防止自動儲存,if table1.stata in [dsedit,dsinsert] then DBGrid.enable:=false else DBGrid.enable:=true ;

請問還有沒有其他方法可以達成我的期望 ? 請問上述兩個方法那個較好呢 ?
------
Kadee/BigRed Ent.
www.tw165.com
tbn
一般會員


發表:6
回覆:9
積分:3
註冊:2002-05-26

發送簡訊給我
#4 引用回覆 回覆 發表時間:2009-08-25 10:13:21 IP:117.19.xxx.xxx 未訂閱
你可用TQuery取代TTable,使用起來也較有彈性,因Query是唯讀的,更沒有自動儲存的問題...
系統時間:2024-04-25 9:48:12
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!