請問如何讓Grid內某ㄧ欄位在編輯狀態無法修改 |
答題得分者是:P.D.
|
marklue
一般會員 發表:33 回覆:55 積分:17 註冊:2005-02-09 發送簡訊給我 |
各位前輩好: 請問在Grid內某ㄧ欄位為KEY,欲在編輯狀態無法修改
但是新增狀態要可以輸入,需要怎樣控制 以下是我嘗試的方法
在DataSource1StateChange
判斷ADOQuery1.State=dsEdit則DBGrid1.Columns[1].ReadOnly:=True
可是發覺Grid如往下新增後狀態為INSERT
但是游標往上移時STATE還是保留在INSERT未改為EDIT
所以還是鎖不到
而且DBGrid1.Columns[1]是自定欄位,用LOOKUP對應成下拉式選單 煩請各位前輩告知錯誤之處 謝謝!
|
P.D.
版主 發表:603 回覆:4038 積分:3874 註冊:2006-10-31 發送簡訊給我 |
這是當然的, 因為你先下了Insert, 所以整個db.state會記錄為Insert, 如果你想改為edit, 則會造成Insert失效, 也就是Insert會失敗
兩個做法,
1.Insert時鎖定dbgrid表不准移動記錄
2.把這句DBGrid1.Columns[1].ReadOnly:=True改到Edit的按鍵上寫即可
或者如果你沒有另外撰寫edit button, 而是直接在grid 上按下就修改的話, 寫到 adoquery1.beforeedit事件上應該也可以 發表人 - P.D. 於 2005/05/19 09:03:33
|
cashxin2002
版主 發表:231 回覆:2555 積分:1937 註冊:2003-03-28 發送簡訊給我 |
|
marklue
一般會員 發表:33 回覆:55 積分:17 註冊:2005-02-09 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |