DBComboBox的onChange事件不能使用

Elvis_chen 2012-03-08 03:40:04
每次从DBComboBox下拉菜单中选择新的内容后,都没有触发onChang事件,是什么原因呢?DBComboBox的onChange事件什么使用?

...全文
108 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
kaikai_kk 2012-03-09
  • 打赏
  • 举报
回复
DBComboBox要关联DataSource和DataField的,不然不起作用

要不就改用ComboBox,先搞清楚2者区别
Elvis_chen 2012-03-09
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 kaikai_kk 的回复:]
应该用DBComboBox对应的DataField的onChange事件

如DBComboBox关联的是F,则:


Delphi(Pascal) code
private
procedure F_Change(Sender:TField);

procedure TForm1.F_Change(Sender:TField);
begin
showmessage('……
[/Quote]

DataSource/DataField都没有使用,只是在Items里面写入一些数据供下拉菜单使用,我想这时候选择数据时出发onChange事件。
Elvis_chen 2012-03-09
  • 打赏
  • 举报
回复
我已经使用ComboBOx做,谢谢!
kaikai_kk 2012-03-08
  • 打赏
  • 举报
回复
应该用DBComboBox对应的DataField的onChange事件

如DBComboBox关联的是F,则:

private
procedure F_Change(Sender:TField);

procedure TForm1.F_Change(Sender:TField);
begin
showmessage('ko');
end;

{ADOQuery的onAfterOpen事件写上:}
ADOQuery.FieldByName('F').onChange:=F_Change;
mhhaifeng 2012-03-08
  • 打赏
  • 举报
回复
DBComboBox的属性 DBComboBox.readonly=True
DBComboBox.readonly=False才行
我看见佛 2012-03-08
  • 打赏
  • 举报
回复
不知道LZ是设置了什么还是怎么回事,或者要执行的是什么事件,从新选择时肯定会触发的

procedure TForm1.DBComboBox1Change(Sender: TObject);
begin
ShowMessage('a');
end;
从这可以看出来,
mhhaifeng 2012-03-08
  • 打赏
  • 举报
回复
数据没改变
首先你要确定你的操作正确!

再次,看看你的onchange 做了些什么?

可在onchange 中showmessage('onchange') 确定程序有没执行到这

有时操作失败 也是正常的

16,749

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 语言基础/算法/系统设计
社区管理员
  • 语言基础/算法/系统设计社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧