delphi ComboBox 的问题
比如数据库里编号是这样的编号姓名1张三2李四4李五9张四加载到combobox后。如何ComboBox1.ItemIndex的数值是与数据库编号一致呢...
比如数据库里编号是这样的
编号 姓名
1 张三
2 李四
4 李五
9 张四
加载到combobox后。如何ComboBox1.ItemIndex的数值是与数据库编号一致呢 展开
编号 姓名
1 张三
2 李四
4 李五
9 张四
加载到combobox后。如何ComboBox1.ItemIndex的数值是与数据库编号一致呢 展开
4个回答
展开全部
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;
但是,也有变通方法。一种就是用高级一点的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;
展开全部
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])^;
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
展开全部
可以生成这样的 项 编号+'$'+ 姓名
然后用的时候 用 字符串函数 截取$前部分的 做编号
然后用的时候 用 字符串函数 截取$前部分的 做编号
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
学习
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询