delphi ComboBox 的问题
发布网友
发布时间:2024-10-02 16:21
我来回答
共4个回答
热心网友
时间:2024-10-09 17:00
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;
热心网友
时间:2024-10-09 16:57
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])^;
热心网友
时间:2024-10-09 16:57
可以生成这样的 项 编号+'$'+ 姓名
然后用的时候 用 字符串函数 截取$前部分的 做编号
热心网友
时间:2024-10-09 16:59
学习