我把数据库中查询的内容自动添加到combobox下拉列表中,由于按照小类查询的,写到下拉列表中的是大类的名称,所以出现了相同的大类名称。有办法去掉下拉列表中相同的内容吗?
解决方案 »
- 学习方法~~
- Mapx 放大出错 "Invalid floating point operation"
- 在DBGRID中设计阶段确定某几条记录都被选中,如何实现?
- 怎样对窗口上的最小化按钮编程???
- 如何释放线程的资源
- 请问delphi中如何动态创建ACCESS 数据庫
- 一个多文档的应用程序的主窗口的图片问题!
- 大家看一下我写的这个触发器到底错在那里?
- 请教如何在DBGRID中对多表查询的结果进行编号?
- asf是什么格式 ?用什么播放?
- 一个查询的字段值是NULL,会引起程序报错,但的确要这个值要如何处理
- 大哥哥,大姐姐,Winform程序里输入的10进制数字转化成16进制后如何显示到LED上面去?
判断是否含有某项
ComboBox1.Items.IndexOf('这里是某项的字符串')
with ADOQuery do
begin
close;
sql.Clear;
sql.Add(' select distinct 字段 from 表名');
Open;
comboBox1.Items.Clear;
first;
while not eof do
begin
comboBox1.Items.Append(trim(fieldByName('字段').AsString));
next;
end;
end;
end
select distinct A from tb或者添加时,判断是否已经存在,不存就添加:
s:=AdoQuery.FieldByName('A').Asstring;
if ComboBox1.Items.IndexOf(s)=-1 then
ComboBox1.Items.Add(s);
procedure TForm1.addCombobox(s: String);
begin
//判断ITEMS中s这个字符存在于第几行,如果返回-1,则表示不存在
if combobox1.Items.IndexOf(s) = -1 then
begin
combobox1.Items.Add(s);
end;
end;//要在COMBOBOX里添加时,调用这个函数procedure TForm1.Button1Click(Sender: TObject);
begin
addCombobox(edit1.text);//传递你要添加的字符
end;
s: TStringList;
begin
s := TStringList.Create;
try
s.Duplicates := dupIgnore;
s.Add('example');
self.ComboBox1.Items.Assign(s);
finally
s.Free;
end;
s.Add('example'); 换成你要添加内容的循环体即可。