一個小問題 |
尚未結案
|
sun_chih_yen
一般會員 發表:40 回覆:33 積分:13 註冊:2003-10-03 發送簡訊給我 |
|
cashxin2002
版主 發表:231 回覆:2555 積分:1937 註冊:2003-03-28 發送簡訊給我 |
您好! 請在連接ADODataSet元件的DataSource元件的OnStateChage事件中寫入如下程式碼:
begin if ADODataSet1.State in [dsInsert, dsEdit] then begin DBEdit1.ReadOnly := False; DBEdit2.ReadOnly := False; ...//其它的DBEdit元件 end else begin DBEdit1.ReadOnly := True; DBEdit2.ReadOnly := True; ...//其它的DBEdit元件 end; end;另外, 還有一種方法, 可以控制DBGrid元件的自動編輯功能, 是否可控制DBEdit資料感知元件, 小弟沒有試過, 您可將DataSouce元件的AutoEdit屬性設為False試試看. ===================== 努力,相信會獲得美麗! 忻晟
------
忻晟 |
sun_chih_yen
一般會員 發表:40 回覆:33 積分:13 註冊:2003-10-03 發送簡訊給我 |
|
sun_chih_yen
一般會員 發表:40 回覆:33 積分:13 註冊:2003-10-03 發送簡訊給我 |
|
cashxin2002
版主 發表:231 回覆:2555 積分:1937 註冊:2003-03-28 發送簡訊給我 |
|
cashxin2002
版主 發表:231 回覆:2555 積分:1937 註冊:2003-03-28 發送簡訊給我 |
您好﹗ 剛才測試了一下﹐DataSource元件的AutoEdit屬性對DBEdit資料感知元件無控制能力﹐所以只有第一種方法可行﹐小弟連接Access資料庫的相關程式碼如下﹕
procedure TForm1.DataSource1StateChange(Sender: TObject); begin if ADOTable1.State In [dsEdit, dsInsert] then begin DBEdit1.ReadOnly := False; DBEdit2.ReadOnly := False; DBEdit3.ReadOnly := False; end else begin DBEdit1.ReadOnly := True; DBEdit2.ReadOnly := True; DBEdit3.ReadOnly := True; end; end; 除了使用DBEdit元件的ReadOnly屬性將其設為不允許輸入﹐也可用Enabled屬性設定其是否能取得輸入焦點參考看看﹗ ===================== 努力,相信會獲得美麗! 忻晟
------
忻晟 |
sun_chih_yen
一般會員 發表:40 回覆:33 積分:13 註冊:2003-10-03 發送簡訊給我 |
|
sun_chih_yen
一般會員 發表:40 回覆:33 積分:13 註冊:2003-10-03 發送簡訊給我 |
|
sun_chih_yen
一般會員 發表:40 回覆:33 積分:13 註冊:2003-10-03 發送簡訊給我 |
|
cashxin2002
版主 發表:231 回覆:2555 積分:1937 註冊:2003-03-28 發送簡訊給我 |
您好﹗ Enable屬性值是若設成False﹐則該元件不能取得焦點﹐為了區別于可取得焦點的元件﹐所以其顏色變得暗淡色﹐据小弟所知(能力範圍有限)﹐似乎不能改變﹐其實如果不想其顏色變得暗淡﹐使用ReadOnly屬性值為True就可以達到相同的效果﹒ LockType屬性是指資料表的鎖定形態﹐与您所提的DBEdit元件完全是不相關的﹐所以您使用LockType屬性中的ItOptimistic或者其它的屬性值當然就不會影響DBEdit元件了﹒ 參考看看﹗ =====================
努力,相信會獲得美麗!
忻晟
------
忻晟 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |