如何用程序设置 TDBLookUpComboBox 选中的项目(20分)

  • 主题发起人 主题发起人 陈荻秋
  • 开始时间 开始时间

陈荻秋

Unregistered / Unconfirmed
GUEST, unregistred user!
类似 TDBComboBox 设置 Items.ItemIndex:=...
TDBComboBox 会自动定位到指定选项上并显示选项内容.

可是TDBLookUpComboBox并没有类似属性.如何做呢?
 
TDBLookUpComboBox是到另一个表中取记录做Items值,在ListSourse中设数据
源,ListField中设要显示的字段。
 
见笑了!
我想知道 '如何定位' ??
把相关的 ListSource 的 DataSet 的数据指针改变并不使
TDBLookUpComboBox的选中项目改变,该如何做呢?
 
我比较喜欢用TDSComboBox(一个第三方的免费控件), 它带的可不是dataset, 而是
直接一句sql(它内嵌了一个TQuery). 我觉得它最大的优点是可以显示一个字段, 而
选中时可以取的是另一字段的值. 当然也能用ItemIndex设置选中项.
 
第三防控件是好! 就是有点提心吊胆.
有问题可以绕过,还是解决了才睡得着.

这种问题在设置街面上的控件的缺省选项时经常遇到
 
我同意陈兄的意见不能依赖第三方控件, 关键要把问题搞清楚;
直接修改 TDBLookupComboBox 控件 CloseUp 方法的源程序, 其中:
ListValue := FDataList.KeyValue; 是你所要的东西, 想办法提取出来即可
 
我找到了!谢谢你的提示,不过没有那么麻烦
现成的属性:KeyValue !!!,我自己晕了头了

我还有一个小问题贴在上面,
如果各位有兴趣不妨一并赐教.
--------------------------------------------------
property KeyValue: Variant;

Description

Use KeyField to determine the value represented by
the lookup control (not the value displayed by the lookup control).
When KeyValue is set, the lookup control attempts to find a
record from the ListSource's dataset where the value of KeyField
matches KeyValue. If such a match is found, the lookup control displays the value of ListField on that record.
 
20分不多,我就不一一分配了.
 
哈哈!KeyValue,看看HELP就知了,不用如此大费周章。。。
 
后退
顶部