C#中如何通过,TextBox+ListBox实现自动匹配功能?
C#实现,WinForm程序.程序中有一个TextBox和ListBoxListBox内有近万条数据项我要实现当在TextBox内输入文本后,如果ListBox内有这个文...
C#实现,WinForm程序.
程序中有一个TextBox和ListBox
ListBox内有近万条数据项
我要实现当在TextBox内输入文本后,如果ListBox内有这个文本,则选择到那条记录。
我的实现思路是在TextBox的Changed事件中遍历ListBox所有项。
不过我觉得这个实现方法对于数据多的情况下可能会影响程序性能。
请问大家有没有什么好的实现思路呀?
------------------
由于程序须要必须要在界面内显示一个列表(所以我选择了ListBox),列表内有很多数据库(近万条)因为数据过多不方便选择,所以我加了一个TextBox来检查检索数据.就是这样。
我知道数据量大的话用ListBox不适合,但是不用ListBox又有什么可以实现在界面中显示一个列表呢?GridView肯定不适合,因为我要显示的内容就只有一列。 展开
程序中有一个TextBox和ListBox
ListBox内有近万条数据项
我要实现当在TextBox内输入文本后,如果ListBox内有这个文本,则选择到那条记录。
我的实现思路是在TextBox的Changed事件中遍历ListBox所有项。
不过我觉得这个实现方法对于数据多的情况下可能会影响程序性能。
请问大家有没有什么好的实现思路呀?
------------------
由于程序须要必须要在界面内显示一个列表(所以我选择了ListBox),列表内有很多数据库(近万条)因为数据过多不方便选择,所以我加了一个TextBox来检查检索数据.就是这样。
我知道数据量大的话用ListBox不适合,但是不用ListBox又有什么可以实现在界面中显示一个列表呢?GridView肯定不适合,因为我要显示的内容就只有一列。 展开
8个回答
展开全部
这要看你绑定数据后listbox的状态了! 比如是否已经排序,
例:如果是按ID排好序号了10000条数据 你要找第2003条,那么你可以用这种算法 先把10000分成2个5000条 看2003是否大于5000如果是小于5000那么在把小于5000的数据分成2个2500然后再找2003是否大于2500马上就找到了很快的!
编程序要根据不同状况做不同的程序的! 没有哪一种算法是最好的!只有最适用的算法
例:如果是按ID排好序号了10000条数据 你要找第2003条,那么你可以用这种算法 先把10000分成2个5000条 看2003是否大于5000如果是小于5000那么在把小于5000的数据分成2个2500然后再找2003是否大于2500马上就找到了很快的!
编程序要根据不同状况做不同的程序的! 没有哪一种算法是最好的!只有最适用的算法
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
把数据绑定到文本框中再加上下面的两个方法就可以自动匹配了
DataTable table = train.GetAlltx_train_province();
this.cmbStartProvince.DisplayMember = "provinceName";
this.cmbStartProvince.ValueMember = "provinceID";
this.cmbStartProvince.DataSource = table;
//自动匹配用户输入的内容
cmbStartProvince.AutoCompleteMode = AutoCompleteMode.SuggestAppend;
cmbStartProvince.AutoCompleteSource = AutoCompleteSource.ListItems;
DataTable table = train.GetAlltx_train_province();
this.cmbStartProvince.DisplayMember = "provinceName";
this.cmbStartProvince.ValueMember = "provinceID";
this.cmbStartProvince.DataSource = table;
//自动匹配用户输入的内容
cmbStartProvince.AutoCompleteMode = AutoCompleteMode.SuggestAppend;
cmbStartProvince.AutoCompleteSource = AutoCompleteSource.ListItems;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
1. 建议你不要使用TextBox的Changed事件,加个按钮也无妨。
2. 不要直接对ListBox进行遍历。
3. 遍历前,首先建立哈希表,然后把ListBox数据存入哈希表中,计算机会通过哈希算法,优化你的遍历质量。
4. 遍历过后再在ListBox通过索引,选择上。
2. 不要直接对ListBox进行遍历。
3. 遍历前,首先建立哈希表,然后把ListBox数据存入哈希表中,计算机会通过哈希算法,优化你的遍历质量。
4. 遍历过后再在ListBox通过索引,选择上。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询