首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

如何根据用户输入的部分内容快速定位到相似的内容呢?用Combobox或其他类似的控件

2012-02-15 
怎么根据用户输入的部分内容快速定位到相似的内容呢?用Combobox或其他类似的控件。有将近1000项选项,需求,

怎么根据用户输入的部分内容快速定位到相似的内容呢?用Combobox或其他类似的控件。
有将近1000项选项,
需求,在Combobox输入字头,自动筛选出以该字头为头的所有选项。

看了很多文章说的都不是很符合要求

小弟是新人,分不多。

[解决办法]
combobox的items是一个Tstrings类型,它有一个方法是indexof ,是一个虚态方法,实现过程如下:
function IndexOf(const S: string): Integer;
begin
for Result := 0 to GetCount - 1 do
if CompareStrings(Get(Result), S) = 0 then Exit;
Result := -1;
end;
你可以对此进行修改, 如:

Procedure deleteNotSelectindex(const S: string);
var
Count:integer
begin
with ComboBox1 do
begin
for Count:= 0 to ComboBox1.items.GetCount - 1 do
if CompareStrings(Copy(ComboBox1.items.Get(Result),1,1), Copy(S,1,1)) = 0 then
ComboBox1.items.delete(Count);
end;
end;
在进行这个操作之前,先把combobox的items做一个副本,以便回复!
[解决办法]
如果这些选项是从数据库来的话,那比较方便,不用备份items了。

判断为空,为何不能用text呢? 如果是因为空格的原因的话,试试trim(combobox1.text) = ' '

热点排行