• 主页
  • 招聘
  • 语言基础/算法/系统设计
  • 数据库相关
  • 图形处理/多媒体
  • 网络通信/分布式开发
  • VCL组件开发及应用
  • Windows SDK/API

遇到怪事了,求救,TDBEDIT.READONLY不起作用了

sztony 2014-05-20 09:01:05
我有如下一段代码,就是对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
...全文
130 点赞 收藏 5
写回复
5 条回复
sztony 2014年05月20日
dataset相关字段READONLY也设为FALSE了,界面上的其它字段也可以编辑, 就是这个二个字段,因为被TRUE过,切换为FALSE后,还是不能编辑,但其它字段都能编辑(其它字段没有切换过TRUE 和FALSE)。
回复 点赞
金卯刀 2014年05月20日
dataset中字段的ReadOnly会影响数据感知控件的readOnly状态
回复 点赞
sztony 2014年05月20日
1)主键也是可以编辑的, 2)这二个字段,在我的程序里,不是主键字段, 真被搞崩溃了,不知道问题出在哪里?
回复 点赞
Andy-88 2014年05月20日
主键是不能编辑的 与READoNLY  没有关系
回复 点赞
金卯刀 2014年05月20日
我的意思是直接设置字段属性readonly。如果一定要设置控件的属性,可以在actionlist.onupdate事件实时控制界面状态
回复 点赞
发动态
发帖子
Delphi
创建于2007-08-02

1466

社区成员

26.2w+

社区内容

Delphi 开发及应用
社区公告
暂无公告