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

請問一個滑鼠問題

答題得分者是:小傑克
lasterliu
一般會員


發表:38
回覆:57
積分:19
註冊:2007-11-05

發送簡訊給我
#1 引用回覆 回覆 發表時間:2009-04-22 13:16:05 IP:60.251.xxx.xxx 訂閱
請問有辦法可以使滑鼠都沒作用嗎?
因為想讓USER在DBGrid中KEY IN資料(有試過StringGrid,但變的比較麻煩),
但要檢查欄位是否為空白時,若用鍵盤則OK,若使用滑鼠就不行檢查,所以想請問使否有方法,可以使滑鼠在DBGrid上都無作用。
如:
NO NAME AGE
1 AA 18
2 BB 20
3
這時若使用滑鼠點像別的欄位(如AGE 18此欄位),小弟就不知該如何判斷欄位是否空白了。
想請教各位大大是否有其他方法可以提示一下小弟,謝謝。

inglong
初階會員


發表:28
回覆:27
積分:36
註冊:2004-08-13

發送簡訊給我
#2 引用回覆 回覆 發表時間:2009-04-22 13:30:04 IP:203.69.xxx.xxx 訂閱

if dbgrid1.datasource.datasource.fieldbyname('AGE').asstring = '' then ....

===================引 用 lasterliu 文 章===================
請問有辦法可以使滑鼠都沒作用嗎?
因為想讓USER在DBGrid中KEY IN資料(有試過StringGrid,但變的比較麻煩),
但要檢查欄位是否為空白時,若用鍵盤則OK,若使用滑鼠就不行檢查,所以想請問使否有方法,可以使滑鼠在DBGrid上都無作用。
如:
NO NAME AGE
1 AA 18
2 BB 20
3
這時若使用滑鼠點像別的欄位(如AGE 18此欄位),小弟就不知該如何判斷欄位是否空白了。
想請教各位大大是否有其他方法可以提示一下小弟,謝謝。

------
何需Coding爭峰
千人指 萬人鋒
敢問Coding頂峰
三尺秋水塵不染
天下無雙
lasterliu
一般會員


發表:38
回覆:57
積分:19
註冊:2007-11-05

發送簡訊給我
#3 引用回覆 回覆 發表時間:2009-04-22 15:56:50 IP:60.251.xxx.xxx 訂閱
inglong大大:
不好意思,可能是我表達錯誤,我的意思是說我點了AGE18此欄位,要如何判斷第三列的NAME與AGE欄位是空白的。
照大大的寫法,它是去比對我指向那一列的欄位,如此就不是小弟我所想要的結果了。
編輯記錄
lasterliu 重新編輯於 2009-04-22 15:57:25, 註解 無‧
inglong
初階會員


發表:28
回覆:27
積分:36
註冊:2004-08-13

發送簡訊給我
#4 引用回覆 回覆 發表時間:2009-04-23 11:26:40 IP:203.69.xxx.xxx 訂閱
在mousedown 事件下,  如果dataset  locate 到空白 就是了 --- 你要的是這個嗎?
===================引 用 lasterliu 文 章===================
inglong大大:
不好意思,可能是我表達錯誤,我的意思是說我點了AGE18此欄位,要如何判斷第三列的NAME與AGE欄位是空白的。
照大大的寫法,它是去比對我指向那一列的欄位,如此就不是小弟我所想要的結果了。
------
何需Coding爭峰
千人指 萬人鋒
敢問Coding頂峰
三尺秋水塵不染
天下無雙
小傑克
資深會員


發表:5
回覆:209
積分:357
註冊:2009-02-16

發送簡訊給我
#5 引用回覆 回覆 發表時間:2009-04-24 21:25:58 IP:59.112.xxx.xxx 訂閱
首先 DBGrid1.DataSource.DataSet.RecNo 可以取到目前select的位置
DBGrid1.SelectedField.Index 可以取到select 欄

設全域變數 EditRecNo , EditFieldCount : integer;
當使用者再編輯欄位時 先用上面方法抓目前所在位置 EditRecNo = DBGrid1.DataSource.DataSet.RecNo
當使用者用滑鼠點到別的位置時,在 OnCellClick event 裡面用
if EditRecNo <> DBGrid1.DataSource.DataSet.RecNo 來判斷是不是同一行, 用 if EditFieldCount <> DBGrid1.SelectedField.Index -1 是不是下一欄
這樣就可以應用, 比如說

if EditRecNo <> DBGrid1.DataSource.DataSet.RecNo then
begin
// 檢查空白
end;

------
額有朝天骨,眼中有靈光
編輯記錄
小傑克 重新編輯於 2009-04-24 21:30:01, 註解 無‧
系統時間:2024-11-22 22:20:26
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!