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

要如何讓用滑鼠在捲動TDBGRID時不去執行QUERY

尚未結案
vivi666666
初階會員


發表:83
回覆:94
積分:35
註冊:2003-03-05

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-07-28 18:10:25 IP:203.69.xxx.xxx 未訂閱
要如何讓用滑鼠在捲動TDBGRID時不去執行QUERY 的ONCALCFIELDS,
Mickey
版主


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

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-07-29 08:21:48 IP:218.170.xxx.xxx 未訂閱
vivi666666 妳好: 參考看看 TDataSet.AutoCalcFields Property, 將其設為 False 試試.
vivi666666
初階會員


發表:83
回覆:94
積分:35
註冊:2003-03-05

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-07-29 09:40:43 IP:203.69.xxx.xxx 未訂閱
引言: vivi666666 妳好: 參考看看 TDataSet.AutoCalcFields Property, 將其設為 False 試試.
當滑鼠在捲動TDBGRID還是會去執行,不曉是設在那? 我在OPEN之前設BDEClientDataSet1.AutoCalcFields:=false; 及BDEClientDataSet1CalcFields設 設BDEClientDataSet1.AutoCalcFields:=false;測皆不行
pgdennis
資深會員


發表:41
回覆:526
積分:443
註冊:2002-05-23

發送簡訊給我
#4 引用回覆 回覆 發表時間:2004-07-29 11:00:20 IP:218.170.xxx.xxx 未訂閱
乾脆設一個全區變數來控制要不要執行 If gPROCESS_OK then    {code for calculated fields} 不過自己控制有點麻煩.... 星期一,星期二...星期日..星期一..無窮迴圈@@
------
星期一,二...無窮迴圈@@
vivi666666
初階會員


發表:83
回覆:94
積分:35
註冊:2003-03-05

發送簡訊給我
#5 引用回覆 回覆 發表時間:2004-07-29 17:22:37 IP:203.69.xxx.xxx 未訂閱
引言: 乾脆設一個全區變數來控制要不要執行 If gPROCESS_OK then {code for calculated fields} 不過自己控制有點麻煩.... 星期一,星期二...星期日..星期一..無窮迴圈@@ < face="Verdana, Arial, Helvetica"> 有比較簡單的方式嗎?
bennychen
一般會員


發表:0
回覆:7
積分:1
註冊:2003-03-17

發送簡訊給我
#6 引用回覆 回覆 發表時間:2004-07-29 21:55:43 IP:61.230.xxx.xxx 未訂閱
Sorry, 我不太瞭解妳遇到的問題! 1. OnCalcFields事件與是不是移動DBGrid的記錄, 基本上是不能畫上等號的. 2. 請問您是否有在Query裡有設計算欄位? 3. 如果沒有計算欄位, 為何會擔心OnCalcFields事件? 妳有在裡面寫程式碼嗎? 4. 如果有計算欄位, 若妳不讓Query去觸發OnCalcFields事件, 請問, 您的計算欄位的值要怎麼給? 所以, 可否請妳再詳述的稍微完整些? TKS
vivi666666
初階會員


發表:83
回覆:94
積分:35
註冊:2003-03-05

發送簡訊給我
#7 引用回覆 回覆 發表時間:2004-07-30 09:06:31 IP:203.69.xxx.xxx 未訂閱
引言: Sorry, 我不太瞭解妳遇到的問題! 1. OnCalcFields事件與是不是移動DBGrid的記錄, 基本上是不能畫上等號的. 2. 請問您是否有在Query裡有設計算欄位? 3. 如果沒有計算欄位, 為何會擔心OnCalcFields事件? 妳有在裡面寫程式碼嗎? 4. 如果有計算欄位, 若妳不讓Query去觸發OnCalcFields事件, 請問, 您的計算欄位的值要怎麼給? 所以, 可否請妳再詳述的稍微完整些? TKS
因在OnCalcFields事件(即在BDEClientDataSet1CalcFields) 有做資料數量計算(有一個欄位不是真真的欄位)的,有IF及ELSE的判斷 在資料顯示完後,只要滑鼠在捲動TDBGRID,他就會一直執行(OnCalcFields) ELSE那一段,所以數量計算,就會重新顯示(即重新計算),有沒有辨法 滑鼠在捲動TDBGRID,時不去執OnCalcFields
bennychen
一般會員


發表:0
回覆:7
積分:1
註冊:2003-03-17

發送簡訊給我
#8 引用回覆 回覆 發表時間:2004-07-30 10:49:08 IP:61.230.xxx.xxx 未訂閱
引言:
引言: Sorry, 我不太瞭解妳遇到的問題! 1. OnCalcFields事件與是不是移動DBGrid的記錄, 基本上是不能畫上等號的. 2. 請問您是否有在Query裡有設計算欄位? 3. 如果沒有計算欄位, 為何會擔心OnCalcFields事件? 妳有在裡面寫程式碼嗎? 4. 如果有計算欄位, 若妳不讓Query去觸發OnCalcFields事件, 請問, 您的計算欄位的值要怎麼給? 所以, 可否請妳再詳述的稍微完整些? TKS
因在OnCalcFields事件(即在BDEClientDataSet1CalcFields) 有做資料數量計算(有一個欄位不是真真的欄位)的,有IF及ELSE的判斷 在資料顯示完後,只要滑鼠在捲動TDBGRID,他就會一直執行(OnCalcFields) ELSE那一段,所以數量計算,就會重新顯示(即重新計算),有沒有辨法 滑鼠在捲動TDBGRID,時不去執OnCalcFields
瞭解! 建議: 1. 既然有一個"虛欄位", 那麼, 妳可以在會改變數量的其它欄位之OnValidate事件來撰寫計算數量的程式. 2. 不要有這一個虛欄位, 而是直接在TClientDataSet新增一個InternalCalc型態的欄位, 然後在類似第一項的OnValidate來給予值或者是在OnBeforePost事件來撰寫都可以.
vivi666666
初階會員


發表:83
回覆:94
積分:35
註冊:2003-03-05

發送簡訊給我
#9 引用回覆 回覆 發表時間:2004-07-31 09:48:52 IP:203.69.xxx.xxx 未訂閱
引言:
引言:
引言: Sorry, 我不太瞭解妳遇到的問題! 1. OnCalcFields事件與是不是移動DBGrid的記錄, 基本上是不能畫上等號的. 2. 請問您是否有在Query裡有設計算欄位? 3. 如果沒有計算欄位, 為何會擔心OnCalcFields事件? 妳有在裡面寫程式碼嗎? 4. 如果有計算欄位, 若妳不讓Query去觸發OnCalcFields事件, 請問, 您的計算欄位的值要怎麼給? 所以, 可否請妳再詳述的稍微完整些? TKS
因在OnCalcFields事件(即在BDEClientDataSet1CalcFields) 有做資料數量計算(有一個欄位不是真真的欄位)的,有IF及ELSE的判斷 在資料顯示完後,只要滑鼠在捲動TDBGRID,他就會一直執行(OnCalcFields) ELSE那一段,所以數量計算,就會重新顯示(即重新計算),有沒有辨法 滑鼠在捲動TDBGRID,時不去執OnCalcFields
瞭解! 建議: 1. 既然有一個"虛欄位", 那麼, 妳可以在會改變數量的其它欄位之OnValidate事件來撰寫計算數量的程式. 2. 不要有這一個虛欄位, 而是直接在TClientDataSet新增一個InternalCalc型態的欄位, 然後在類似第一項的OnValidate來給予值或者是在OnBeforePost事件來撰寫都可以.
可是直接在TClientDataSet新增一個InternalCalc型態的欄位後, 原本計算的QTY數量沒顯示數量了(因我原本是在TClientDataSet新增一個calculated,即顯不資料用-QTY) 我將QTY(欄名)由calculated改成InternalCalc後,計算撰寫計算數量的程式寫在OnValidate及OnBeforePost 皆沒顯示資料?
bennychen
一般會員


發表:0
回覆:7
積分:1
註冊:2003-03-17

發送簡訊給我
#10 引用回覆 回覆 發表時間:2004-07-31 13:55:59 IP:61.230.xxx.xxx 未訂閱
可是直接在TClientDataSet新增一個InternalCalc型態的欄位後, 原本計算的QTY數量沒顯示數量了(因我原本是在TClientDataSet新增一個calculated,即顯不資料用-QTY) 我將QTY(欄名)由calculated改成InternalCalc後,計算撰寫計算數量的程式寫在OnValidate及OnBeforePost 皆沒顯示資料? -------------------------------------------------------- 我測試是OK的, 我再個舉例子好了. 假設有一個出貨明細表有的QTY欄位, 我希望在輸入欲出貨的商品(ITEM_NO時, 可以到該客戶的訂單找出該商品目前尚未出貨的數量來做為本筆出貨明細的建議出貨數量(QTY), 則我可以在ITEM_NO的OnValidate事件輸入計算QTY的程式碼! so, 看妳的回覆, 妳是不是撰寫在QTY欄位的OnValidate事件呢? 這樣當然不會有顯示任何資料.
系統時間:2024-05-13 13:22:37
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!