我有如下一段代碼,就是對TDBEDIT控制元件的READONLY進行控制,非常簡單,
但是,在運行程序中,把DOCTYPE_CODE型別改變時候,比如由STD切換到XX,
希望TDBEDIT能夠寫,但實際卻還是只讀,沒辦法寫,跟蹤時,明明執行了dbedit2.ReadOnly := false;陳述句
卻就是沒有效果,太奇怪了,從來沒有遇到過這種怪事,求救了。
with zq_wkpiece do
begin
if state in [dsinsert,dsedit] then
begin
if trim(fieldbyname('doctype_code').AsString) = 'STD' then
begin
dbedit2.Color := clbtnshadow;
dbedit4.Color := clbtnshadow;
dbedit2.ReadOnly := true;
dbedit4.ReadOnly := true;
end else
begin
dbedit2.Color := clwindow;
dbedit4.Color := clwindow;
dbedit2.ReadOnly := false;
dbedit4.ReadOnly := false;
end;
end; //if state in .... then
end; //with zq_wkpiece do
uj5u.com熱心網友回復:
主鍵是不能編輯的 與READoNLY 沒有關系uj5u.com熱心網友回復:
1)主鍵也是可以編輯的,2)這二個欄位,在我的程式里,不是主鍵欄位,
真被搞崩潰了,不知道問題出在哪里?
uj5u.com熱心網友回復:
dataset中欄位的ReadOnly會影響資料感知控制元件的readOnly狀態uj5u.com熱心網友回復:
dataset相關欄位READONLY也設為FALSE了,界面上的其它欄位也可以編輯,就是這個二個欄位,因為被TRUE過,切換為FALSE后,還是不能編輯,但其它欄位都能編輯(其它欄位沒有切換過TRUE 和FALSE)。
uj5u.com熱心網友回復:
我的意思是直接設定欄位屬性readonly。如果一定要設定控制元件的屬性,可以在actionlist.onupdate事件實時控制界面狀態轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/108823.html
標籤:VCL組件開發及應用
