财管家 首页
当前位置:主页>管家婆/报表打印> 文章内容

如何让DBedit的ReadOnly属性真正起到效果

发布时间:2010-07-09 | QQ免费站
1楼: dbEdit如果没有设置其DataSource属性,那么它和Edit的功能基本差不多。
如果这时候,令 dbEdit.ReadOnly:=true; 那么dbEdit确实是只读的;
如果设置了DataSource属性,那么DBEdit就和数据集绑定了,但是这时候你会发现这时候就算
dbEdit.ReadOnly:=true; 但是这时候的DbEdit能够写入数据;也就是说这里的ReadOly属性根本没有启到作用。
这种现象很让让恼火;
不过在DbGrid里,如果设置了某colmun的只读属性,那么该列就是只读的。
我想不少朋友可能也遇到过这样类似的问题,不知道大家如实现 DbEdit的只读处理的。

2楼: 不会吧,我也在用,设置了就有效,如果实在不行,你就在一个panel上放那些db的控件,然后通过panel的control来实现

3楼: 都不知你在说什么,一时说DBEdit,一时又说DBGrid。

4楼: 我的意思是是说 Dbedit和DbGrid在数据绑定上处理机制原理应该差不多,
为何DbGrid.columns的ReadOnly有效,而 Dbedit的ReadOnly就无效了呢?

5楼: 老兄,是不是你的DELPHI出问题了,没有你说的这种情况。

6楼: 要不就用DBEdit1.Field.ReadOnly := True;

7楼: 简单点,设为DBEdit1.Datasource.DataSet.readonly := True;绝对可以如 管家婆软件免费下载

8楼: 对不起大家,其实DBEdit的ReadOnly是启效果的, 字串4

我用的是DbEditEh,版本是3.4 ;
DbEditEh的ReadOnly=ture,仍然可写,不知道该如何解决这个bug.

9楼: 不会吧,我用的是EHLIB 2.1(D6)安装的没出现这种情况

10楼: 你改变它的Enabled属性,虽然是不可用,但它照样能读取DataSource中数据。

11楼: 设置DataSet中字段只读就可以了
DBGrid1.DataSource.DataSet.FieldByName().ReadOnly=true
……

12楼: dbedit输入数据有关系么,只要你不对ADOQUERY那些东西执行更新操作,怎么改都没事啊