TDBLookupComboBox的使用(oracle数据库)(100分)

  • 主题发起人 主题发起人 hoyet_hsu
  • 开始时间 开始时间
H

hoyet_hsu

Unregistered / Unconfirmed
GUEST, unregistred user!
各位大虾:
小弟用TDBLookupComboBox以便让用户在输入信息时可以进行选择。具体情况如下:
1,若干个DBEDIT控件,连接到Table1(DataSource1)的各个字段,另外有一个
TDBLookupComboBox, 连接Table1的另一个字段,其要显示的数据来自另一个表Table2
(DataSource2)的一个字段。

2,Table1的结构为:
Opid Varchar2(5) primary key
Opname Varchar2(20)
Optype Varchar2(3) //这个字段就是要利用TDBLookupComboBox输入的字段。
.......
.......
Table2的结构为:
Ptid Varchar2(3) primary key
Pname Varchar2(10)

3,对于TDBLookupComboBox属性的设置如下:
DataSource=Datasource1(也即Table1);
DataField:=Optype;
ListSource:=DataSource2(也即Table2);
ListField:=Pname;
KeyField:=Ptid;

4,目的:希望用户选择TDBLookupComboBox下拉框内的Pname值,系统则把Ptid的值输入
到Table1的Optype中。

但是系统运行后,发现:
1,仅能从点击TDBLookupComboBox,看到Pname的各个值,点击后TDBLookupComboBox内
无数据。
2,也无法直接向TDBLookupComboBox输入数据。

请各位大虾多多指教!
 
不能直接利用TDBLookupComboBox输入数据
 
请教jqw:
那么该如何实现这个功能?
多谢了
 
hoyet_hsu
你好,其实dblookupcombobox用自动关联时不好的,相对来说功能很弱,我给你介绍一个方法:
编一段程序:
在dblookupcombobox控件onenter实践中编程:
dblookupcombobox1.clear;
dblookupcombobox1.item.add('select Pname from table2');

再利用如下设置就行
DataSource=Datasource1(也即Table1);
DataField:=Optype

在设置其他属性即可:
上面程序你可加以修改。
如果有问题,可发email :pmbird@21cn.com
要加分100!!!
 
212:
你好!
dblookupcombobox并没有"clear" 和“item”的属性。我用Delphi5+patch1。
是不是哪里设置不对?
 
TDBLookupComboBox是很好用的,我用TDBLookupComboBox做过许多程序,节省了不少
时间,请 hoyet_hsu 检查一下程序,是不是 tabel2 打开了,而 table1 忘了打开了?
 
Table1没有处于dsEdit或dsInsert状态.如果Table1中没有记录,应先调用Table1.Insert;
否则应设DataSource1.AutoEdit:=True
 
多人接受答案了。
 
后退
顶部