关于数据感知控件的问题!请各位大侠帮帮我!(100分)

  • 主题发起人 主题发起人 3210
  • 开始时间 开始时间
3

3210

Unregistered / Unconfirmed
GUEST, unregistred user!

为什么用数据感知控件DBCombobox显示数据记录显示不出来全部列表?(比如说显示一个职业表中的所有职业类别)
我用的是DELPHI5。0,只能显示一条记录,是不是在什么地方没设置好?
我现在采用的是在FORMCREATE事件里给他事先赋值。
还有用DBCOMBOBOX显示时能不能让用户不能修改里面的值,我把STYLE改为
DROPDOWNLIST,但数据不能显示出来。
谢谢!
 
DBCombobox在其的Text属性中感知数据,这是由它的特性决定的,它不会在下拉框中显示当前
字段的所有的值,你如果用DBComboBox只能自己编写代码,将数据库中的值填到DBComboBox的
List中。
 
var
i:longint;
begin
with table_zhy do
begin
if not active then open;
first;
for i:=1 to recordcount do
begin
dbcombobox_zhy.items.add(fieldbyname('zhy').asstring);
next;
end;
dbcombobox_zhy.itemindex:=0;
end;
end;
 
多谢两位的热情答复!
第一个问题我看懂了!不过第二个问题可能我没有写清楚,是这样的,按照你们提供的方法,
我在FORM(用来输入一个用户信息)里面实现了可以用DBComboBox选择职业表里的所有职业类别,
然后把这个用户信息用FORM存起来,如果我要修改这条记录时发现,DBComboBox可以带出来
相应的职业类别,可是这个职业类别可以修改,于是就把STYLE属性改为DROPDOWNLIST,
但修改用户信息时DBComboBox带不出来职业类别了,怎么解决才好呢?
 
应该不会。
你在修改用户信息的Form中的DBComboBox的Items中有你所有的职业类别吗?
 
使用 TDBLookupComboBox控件试试;
顺便提一句:好象recordcount效率低,最好少用,可见DELPHI的帮助
 
如设为你是用combobox.text来指定的吧?
当style为dropdownlist时用text无法改变combobox的text.
有两种方法可以实现你的要求:
1.用itemindex而不是Text来修改combobox的显示
2.combobox的style设为dropdown,在其onkeypress中加入代码Key:=0来限制不让combobox接受输入.
 
修改SONIE的回答:方法对的,只是注意是Key:=#0
 
多人接受答案了。
 
后退
顶部