線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1237
推到 Plurk!
推到 Facebook!

如何使DBEdit內容不能被修改?

尚未結案
iecs
一般會員


發表:21
回覆:10
積分:6
註冊:2003-02-22

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-11-23 17:24:23 IP:218.162.xxx.xxx 未訂閱
各位先進: 在小弟的Form中,我有一、二十個DBEdit,小弟想要使這些DBEdit都 只能夠顯示資料,而不能被修改,除了使用 dbedit1.enabled:=fslase; 設定外,是否還有其他的方法可以做到?因為小弟我不想寫一堆 dbedit1.enabled:=false; dbedit2.enabled:=false; ... 謝謝!
leo2568
中階會員


發表:54
回覆:124
積分:70
註冊:2003-09-21

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-11-23 17:47:16 IP:61.217.xxx.xxx 未訂閱
iece您好! DBedit1,DBedit2...可全部放在panel上,可在屬性設定或在程式中設定Panel1.Enabled:= False; 或 Ture 選擇是否可被修改! 發表人 - leo2568 於 2003/11/23 18:00:38
iecs
一般會員


發表:21
回覆:10
積分:6
註冊:2003-02-22

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-11-23 18:06:02 IP:218.162.xxx.xxx 未訂閱
小弟我也試過將所有dbedit元件放在panel上,但是panel上還有其他 的元件,若只是將panel.enabled設成false,panel上其他的元件也會 不能更改。
Rain
資深會員


發表:31
回覆:236
積分:268
註冊:2003-02-17

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-11-23 18:10:45 IP:220.160.xxx.xxx 未訂閱
參考http://delphi.ktop.com.tw/topic.php?TOPIC_ID=26973 PS、上面的小妹妹照片真可愛:)
chih
版主


發表:48
回覆:1186
積分:639
註冊:2002-04-02

發送簡訊給我
#5 引用回覆 回覆 發表時間:2003-11-23 18:15:00 IP:218.165.xxx.xxx 未訂閱
procedure TForm1.Button1Click(Sender: TObject);
var
  j:integer;
begin
 for j := 1 to Form1.ComponentCount - 1 do
    begin
      if (Components[j] is TDBEdit) then
         (Components[j] as TDBEdit).ReadOnly:=True;
    end;
end;
TRY TRY SEE
leo2568
中階會員


發表:54
回覆:124
積分:70
註冊:2003-09-21

發送簡訊給我
#6 引用回覆 回覆 發表時間:2003-11-23 19:03:59 IP:61.217.xxx.xxx 未訂閱
引言:PS、上面的小妹妹照片真可愛:)
謝謝!! 發表人 - leo2568 於 2003/11/23 20:06:40
leo2568
中階會員


發表:54
回覆:124
積分:70
註冊:2003-09-21

發送簡訊給我
#7 引用回覆 回覆 發表時間:2003-11-23 20:05:06 IP:61.217.xxx.xxx 未訂閱
引言:小弟我也試過將所有dbedit元件放在panel上,但是panel上還有其他 的元件,若只是將panel.enabled設成false,panel上其他的元件也會 不能更改。
當然,你還可以把其他還需要更改的元件: 例如: DBedit8.Enabled := not DBedit8.Enabled; 發表人 - leo2568 於 2003/11/23 20:10:31
cashxin2002
版主


發表:231
回覆:2555
積分:1937
註冊:2003-03-28

發送簡訊給我
#8 引用回覆 回覆 發表時間:2003-11-24 14:26:47 IP:63.84.xxx.xxx 未訂閱
您好﹗
procedure TForm1.Button1Click(Sender: TObject);
var
  j:integer;
begin
 for j := 0 to Form1.ComponentCount - 1 do
    begin
      if Form1.Components[j].ClassType := TDBEdit then
        TDBEdit(Form1.Components[j].ReadOnly := True;
    end;
end;
另外﹐您也可使用ControlCount屬性和Controls屬性來做﹕
var
  j:integer;
begin
  for j := 0 to Form1.ControlCount -1 do
    begin
      if Form1.Controls[j] is TDBEdit then
        TDBEdit(Form1.Controls[j]).ReadOnly := True;
    end;
end;
//ComponentCount和ControlCount是有一定的區別﹐前者是指目前有多少個控制物件﹐換句話講﹐就是只要某個物件的Owner是TForm﹐那就算是TForm物件的控制元件﹔而后者是指Parent是TForm物件的元件﹒ 參考看看﹗ ===================== 努力,相信會獲得美麗! 忻晟 發表人 - cashxin2002 於 2003/11/24 14:30:21
------
忻晟
Mickey
版主


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

發送簡訊給我
#9 引用回覆 回覆 發表時間:2003-11-24 22:36:54 IP:218.32.xxx.xxx 未訂閱
iecs 你好 :    插個花, 直接設定資料元件, > < class="code"> for i := 0 to DataSet.Fields.Count-1 do DataSet.Fields[i].ReadOnly := True;
系統時間:2024-05-03 13:13:39
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!