delphi ComboBox 的问题

比如数据库里编号是这样的编号姓名1张三2李四4李五9张四加载到combobox后。如何ComboBox1.ItemIndex的数值是与数据库编号一致呢... 比如数据库里编号是这样的
编号 姓名
1 张三
2 李四
4 李五
9 张四

加载到combobox后。如何ComboBox1.ItemIndex的数值是与数据库编号一致呢
展开
 我来答
hmyujian
2008-09-04
知道答主
回答量:6
采纳率:0%
帮助的人:0
展开全部
ComboBox的ItemIndex是随着Item的增加自动顺序递增的,所以肯定是按照1,2,3,4这样的顺序产生的,除非你增加空白Item,否则无法达到数值与数据库编号一致。

但是,也有变通方法。一种就是用高级一点的ComboBox控件可以实现,另一种就是手工处理,我的办法是在添加Item时像这样:ComboBox1.Items.Add(Name+#0+ID);如此一来,ComboBox里只能看到Name而不显示ID,二来在取值的时候通过截取字符串就可以得到ID值了,就像这样:
Str := ComboBox1.Items[ComboBox1.ItemIndex];
l := Length(Str);
p := POS(#0,Str);
Str := Copy(Str,p+1,l-p);
ID := Str;
百度网友2db262e5f
2008-09-04 · TA获得超过1496个赞
知道大有可为答主
回答量:1814
采纳率:0%
帮助的人:1441万
展开全部
var
pBH:pInteger;

......
......
while not 记录集.eof do
begin
new(pBH);
pBH^:=编号字段的值;
combobox.items.addobject(姓名字段的值,TObject(pBH))
记录集.next();
end;
......
......

在读combobox的时候:
编号:=pInteger(combobox.items.objects[combobox.itemindex])^;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2008-09-04
展开全部
可以生成这样的 项 编号+'$'+ 姓名
然后用的时候 用 字符串函数 截取$前部分的 做编号
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
czphoenix
2008-09-06 · TA获得超过889个赞
知道小有建树答主
回答量:1227
采纳率:0%
帮助的人:578万
展开全部
学习
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式