小小问题,要改变DbLookUpCombobox的显示值怎么办?(50分)

D

del520

Unregistered / Unconfirmed
GUEST, unregistred user!
有两个DbLookUPcombobox
分别是 DblookUPcomboBox1 和 DblookUPcomboBox2
DblookUPcomboBox1 的listField=编号
DblookUPcomboBox2 的listFild=姓名
运行结果是一个列表可以显示编号,一个可以显示姓名
但我要达到,当我在第一个中选择了编号就在第二个中出现对应的姓名
或是在第二中选择了姓名就在第一个中出现对应的编号
我曾试图在 DblookUPcomboBox1的click事件中写入:
DbLookUpComboBox2.text:=DateSet.FieldByName('姓名').AsString;
不对,好像 DblookUPcomboBox2的text根本不能改!
DBLookUpCombobox好像跟combobox很不一样,就连item好像都没有,以至于我要改变
当前显示的值都不知道怎么办???

用不好,朋友指点一下!!!
 
你将DBLookUpComboBox1和DBLookUpComboBox2的datasource,datafield ,listsource,listfield,
keyfield 全都设对了,不用写代码就可以实现你要的功能。
 
1.DBLookUpComboBox的值(text)是不会随着DataSource里记录指针的改变而改变的

2.DBLookUpComboBox的值(text)是只读的(ReadOnly:=True),不可以人为的给它赋值。

3.DBLookUpComboBox的ListSource可以写成(编号;姓名),这样的效果是下拉框有两列值,
并且一一对应。

4.如果必须用两个DBLookUpComboBox来显示一张表里的两个字段,并让他们时时对应,那可以
试着写一小段程序,模拟鼠标点击DBLookUpComboBox并选择值的过程。
 
实现DblookUPcomboBox.text自动改变必须符合以下条件:
1、DblookUPcomboBox.DataSource和Datafield必须存在
2、DblookUPcomboBox.Datafield与Keyfield的值存在对应关系
这样只要DataSource记录指针发生变动,DblookUPcomboBox.text的值就会自动改变
楼主只使用了一个Dataset,肯定是不行的啦
 
DblookUPcomboBox.keyvalue:=
 
如果全部指定DBLookUpComboBox1和DBLookUpComboBox2的datasource,datafield
,listsource,listfield,keyfield怎么不行?

该怎么指定?
如DbLookUpComboBox1的设置:DataSource=AdoTable1 DateField=编号
ListSource=AdoTable1 ListField=编号 KeyField=编号
就报 circular datalinks are not allowed

可能大家还没理会我的意思,我是想在通过这两个DbLookUPCombobox提供两个选择定位
选编号也行,选姓名也行。
 
DBLookUpComboBox1一般用来显示从表(如代码表的名称)以及对从表(ListSource)
实施记录定位的,按照楼上的用法,报错是正常的,不报错就怪啦
 
老兄,DbLookUpComboBox1的设置应为:DataSource=AdoTable1 DateField=编号
ListSource=AdoTable2 ListField=编号 KeyField=编号
 
多人接受答案了。
 
顶部