比如我的表字段A B
10 False
11 True
25 False
DBedit随指针通过Query DataSource1 取字段A的值,并可以修改字段值(此功能已做好)
但我想加一个条件,当B字段为True时,不能修改,相反字段B等于False时可以通过DBedit修改字段A的值
10 False
11 True
25 False
DBedit随指针通过Query DataSource1 取字段A的值,并可以修改字段值(此功能已做好)
但我想加一个条件,当B字段为True时,不能修改,相反字段B等于False时可以通过DBedit修改字段A的值
解决方案 »
- 哪个组件能够像Listbox添加string那样添加bitmap?
- 请问能否对计算字段进行排序?如果要对一个ADOQuery查询控件动态添加一个查询字段,该怎么添加?
- 怎么能用delphi桌面程序访问web服务器?
- 八百里加急!!!~~~~elphi6中通过Edit修改 数据库数据??
- 可否动态创建ActiveX控件的实例,并注册相应事件,并在事件响应中获取事件源。
- 菜鸟问简单题目
- 急!! 分不够俺再加!! TQuickRep问题.
- 这次少一点,看还行不行!
- 用delphi开发webservice服务器端如何定义全局对象
- 有人知道吗?:DELPHI的浏览器组件为什么不能用,滚动表单里按回车不换行。是本身的毛病吗?
- dll 中包含 adoconnection 后 不能调用的问题
- 动态创建窗体的问题?------------------------------------请各位高人帮忙啊...在线等
但我想加一个条件,当B字段为True时,不能修改,相反字段B等于False时可以通过DBedit修改字段A的值
----------------------
直接在post那里加一个判断就OK了
begin
dbedit.readonly:=query.fieldbyname('B').asboolean;
end;
begin
dbedit.readonly:=query.fieldbyname('B').asboolean;
end;
我在DBedit DBGrid1 Post按钮的KeyPress都试过了,好像query.fieldbyname('B').asboolean值不会随选中字段不同而变化
procedure TForm1.DBGrid1KeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then//回车状态执行程序
Begin
if query.FieldByName('b').AsBoolean =True then
Showmessage('只读状态不能保存')
Else
Begin
query.Edit ;
query.Post ;
End;
End;
end;
begin
if query.FieldByName('b').AsBoolean =True then
dbedit1.ReadOnly:=True; //设置dbedit1只读
Else
dbedit1.ReadOnly:=False; //取消dbedit1只读
end;
begin
if query.FieldByName('b').AsBoolean =True then
dbedit1.ReadOnly:=True //设置dbedit1只读
Else
dbedit1.ReadOnly:=False; //取消dbedit1只读
end;