【问题标题】:Button is disabled if DBLookUpComboBox hasnt got anything selected in it.如果 DBLookUpComboBox 没有在其中选择任何内容,则按钮被禁用。
【发布时间】:2015-02-18 23:58:55
【问题描述】:
使用 Delphi XE2。
编写一个软件包来处理客户数据库。我有一个显示所有客户信息的表单,其中一个字段是一个查找组合框,旁边有一个按钮。 (lookupcombobox 下拉一个包含多个字符串的列表)
打开表单时(插入/编辑模式),如果在查找组合框中未选择任何内容,我需要禁用查找组合框旁边的按钮,如果选择了某些内容,则启用。
我希望这会非常简单。我似乎无法为自己解决问题。
【问题讨论】:
标签:
delphi
delphi-xe2
sybase-asa
【解决方案1】:
在 Delphi 的帮助中:
Vcl.DBCtrls.TDBLookupControl.KeyValue
表示KeyField字段和DataField的共同值
场地。
使用 KeyField 确定查找控件表示的值
(不是查找控件显示的值)。设置 KeyValue 时,
查找控件尝试从 ListSource 的
KeyField 的值与 KeyValue 匹配的数据集。如果这样的比赛
找到后,查找控件会在该控件上显示 ListField 的值
记录。
所以当我玩它时,我可以做到以下几点:
Button1.Enabled := not (DBLookupComboBox1.KeyValue = null);
这是没有连接到它的数据库,所以不知道如果之前组合框中有数据并且之前选择了其中一个项目会发生什么。您必须进行测试。