我给combobox写了这样一段语句让他来显示一个字段下的所有项
while not ADOQuery1.eof do
begin
combobox1.items.add(ADOQuery1.fieldbyname('us_name').asstring);
ADOQuery1.next;
end;
怎样在用户选择相应条目的同时把该条目的ID号(是自动增加的)传给一个变量。
while not ADOQuery1.eof do
begin
combobox1.items.add(ADOQuery1.fieldbyname('us_name').asstring);
ADOQuery1.next;
end;
怎样在用户选择相应条目的同时把该条目的ID号(是自动增加的)传给一个变量。
属性设置
ListSource为ADOQuery1.DataSource
ListField为us_name
KeyFeild为ID
在用户选择相应条目的同时把该条目的ID号:
DBLookupComboBox2.KeyValue
combobox1.items.add(ADOQuery1.fieldbyname('us_name').asstring+ADOQuery1.fieldbyname('us_off').asstring);
DBLookupComboBox可以吗?
combobox1.ItemIndex就是那个条目的ID号~~不信试试就知道啦
在QUERY里做一次循环找出那个ID号不就可以了么其他好象也没啥大办法了~~
反正不怎么影响运行速度的~
Label1.Caption:=?
马上就要揭帖了,帮帮忙啊!!!!
好像不行啊。
然后赋给Combobox的Items属性,选择某项之后,直接查找 SL.Values[strUsername] ,就得到ID的值了。
procedure TForm1.Button2Click(Sender: TObject);
Var
i: Integer;
begin
sl.Clear; //sl: TstringList;私有变量
while not ADOQuery1.eof do
begin
sl.add(ADOQuery1.fieldbyname('us_name').asstring+';'
+ADOQuery1.fieldbyname('us_off').asstring+'='
+ADOQuery1.fieldbyname('us_id').asstring);
ADOQuery1.next;
end;
ComboBox1.Items.Clear;
for i:=0 to sl.Count-1 do
begin
ComboBox1.Items.Add(sl.names[i]);
end;
end; showmessage(sl.Values[ComboBox1.Text]);
例:
添加:
cboCountry.items.addobject('ssss',TObject(1));
取出:
nCountryID := Integer(cboCountry.Items.Objects[cboCountry.ItemIndex])如果ID是string或者其他类型,addObject之前需要先对Object分配内存
adoquery.sql.add('select * from table');
while not ADOQuery1.eof do
begin
combobox1.items.add(ADOQuery1.fieldbyname('us_name').asstring);
ADOQuery1.next;
end;
在combobox的click事件里:
adoquery.locate('id',trim(combobox.text),[]);
aaa:=adoquery.fieldbyname('id').asstring;
不就搞定了吗
adoquery.sql.add('select * from table');
while not ADOQuery1.eof do
begin
combobox1.items.add(ADOQuery1.fieldbyname('us_name').asstring);
ADOQuery1.next;
end;
在combobox的click事件里:
adoquery.locate('id',trim(combobox.text),[]);
aaa:=adoquery.fieldbyname('id').asstring;
不就搞定了吗
combobox1.items.add(ADOQuery1.fieldbyname('us_name').asstring+ADOQuery1.fieldbyname('us_off').asstring);
DBLookupComboBox可以吗?可以的
在取的时候只需要取"="号前面的String不就可以了么?
方法是:先用Pos()取“=”号的位置在用Copy();
我的cainiao技术不高,不知道我理解的对不对
我想把它做成控件,但也不知怎么做.我们可以探讨.用DBComboBox继承,其中一个Item用来保存ID,一个用来保存显示的名称.