使用德尔福 XE2。
编写一个软件包来处理客户数据库。我有一个显示所有客户信息的表单,其中一个字段是一个查找组合框,旁边有一个按钮。(lookupcombobox 下拉一个包含多个字符串的列表)
打开表单(插入/编辑模式)时,如果在查找组合框中未选择任何内容,我需要禁用查找组合框旁边的按钮,否则如果选择了某些内容,则启用。
我希望这将是非常直接的。我似乎无法为自己解决这个问题。
使用德尔福 XE2。
编写一个软件包来处理客户数据库。我有一个显示所有客户信息的表单,其中一个字段是一个查找组合框,旁边有一个按钮。(lookupcombobox 下拉一个包含多个字符串的列表)
打开表单(插入/编辑模式)时,如果在查找组合框中未选择任何内容,我需要禁用查找组合框旁边的按钮,否则如果选择了某些内容,则启用。
我希望这将是非常直接的。我似乎无法为自己解决这个问题。
在德尔福的帮助中:
Vcl.DBCtrls.TDBLookupControl.KeyValue
表示 KeyField 字段和 DataField 字段的公共值。
使用 KeyField 确定查找控件表示的值(不是查找控件显示的值)。设置 KeyValue 后,查找控件会尝试从 ListSource 的数据集中查找 KeyField 的值与 KeyValue 匹配的记录。如果找到这样的匹配项,查找控件将在该记录上显示 ListField 的值。
因此,当我使用它时,我可以执行以下操作:
Button1.Enabled := not (DBLookupComboBox1.KeyValue = null);
这是没有连接到它的数据库,所以不知道如果之前组合框中有数据并且之前选择了其中一个项目会发生什么。你将不得不测试。