c#textbox输入框自动提示,但加载的数据很多,程序运行很慢

shiyi008 2012-03-23 05:22:25
我实现了textbox输入框自动提示,代码如下:
textBox1.AutoCompleteSource = AutoCompleteSource.CustomSource;
textBox1.AutoCompleteMode = AutoCompleteMode.Suggest;
foreach (jgw j in lists)
{
textBox1.AutoCompleteCustomSource.Add(j.nb);
}
数据是从数据库读入内存,放在list中,nb有7万多个,要在Form1_Load中全部加载上,程序反应特别慢,大概得6、7分钟。
有什么好的方法来提高速度? 请高手指点!
...全文
439 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
shiyi008 2012-03-24
  • 打赏
  • 举报
回复
10楼的指点够给力!
“7万条是一瞬间的事情!”
  • 打赏
  • 举报
回复
你测一下...

private void Form4_Load(object sender, EventArgs e)
{
textBox1.AutoCompleteSource = AutoCompleteSource.CustomSource;
textBox1.AutoCompleteMode = AutoCompleteMode.Suggest;
string[] array = new string[70000];
for(int i = 0; i < 70000; i++)
{
array[i] = "数字" + i;
}
//这种方法直接歇菜,我就不等它了
//foreach (string s in array)
//textBox1.AutoCompleteCustomSource.Add(s);
//这个直接秒杀
textBox1.AutoCompleteCustomSource.AddRange(array);
}
  • 打赏
  • 举报
回复
你循环7万次 多难过啊
  • 打赏
  • 举报
回复

foreach (jgw j in lists)
{
textBox1.AutoCompleteCustomSource.Add(j.nb);
}

这个不可取...
改为[code=C#]
//定义一个数组
string[] array = new string[] { "11", "12", "13", "22", "23", "24" };
//整体赋值给AutoCompleteCustomSource
tb.AutoCompleteCustomSource.AddRange(array);
/code]
也许7万条也是一瞬间的事情。。。
shiyi008 2012-03-24
  • 打赏
  • 举报
回复
现在还不能根据输入的内容随时去匹配,看别人的代码挺复杂的,还用到字典树。
请问大家是用什么实现的?让我借鉴一下!
shiyi008 2012-03-23
  • 打赏
  • 举报
回复
我意识到错误了,现在让只显示前10条了,但还不能根据输入的内容随时去匹配
Change_L 2012-03-23
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 return_false 的回复:]

应该是规定展示前几条就行,然后在根据输入的内容随时去匹配
[/Quote]
++
ILOVE_ASPNET 2012-03-23
  • 打赏
  • 举报
回复
不然,客户端要堵死的。
ILOVE_ASPNET 2012-03-23
  • 打赏
  • 举报
回复
是呀,你先通过模糊查询默认显示个几十条就可以了,人家百度也就10条呢,其它查出来多的丢在下面有个分面的就可以了。
  • 打赏
  • 举报
回复
应该是规定展示前几条就行,然后在根据输入的内容随时去匹配
文子 2012-03-23
  • 打赏
  • 举报
回复
先取几条吧 数据库分页 7万多要一次加 真会哭的
  • 打赏
  • 举报
回复
要是像你这样子,百度会哭的
porschev 2012-03-23
  • 打赏
  • 举报
回复


你要一下读出7万条做什么?

不是自动补全吗?

比如自动补全下拉提示15个。。。你select top 15就行了

110,555

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧