2013-02-21 76 views
0

我想在Windows窗体中创建一个自动完成文本框。我的想法是在TextChanged函数中调用数据库,以便动态地向用户提供自动完成选项。我需要知道这是否会以任何方式影响数据库性能。正如我所知道的东西类似的是在Web环境中使用自动完成jquery控件做出来的SQL性能与自动完成

回答

2

每次触发TextChanged时调用数据库可能不是一个好主意......通常应该避免频繁调用数据库,这是一个好习惯。

我会建议在表单初始化时从数据库创建一个列表,并使用该列表作为自动完成选项。

编辑:

TextChanged事件;

if (txtFilter.Text.Length >= 3) 
{ 
    foreach (string s in AutoCompleteList) 
    { 
     if (s.Contains(s)) 
     { 
      // add to list of Suggestions 
     } 
    } 
} 

然后,您可以将建议列表显示在自动完成中。

+0

我明白了你的观点。但是,jQuery自动完成呢?它以这种方式工作吗? – Flezcano 2013-02-21 03:34:09

+0

我不确定它是否查询数据库...来自http://jqueryui.com/autocomplete/;数据源是一个简单的JavaScript数组,使用source-option提供给小部件。 – Trent 2013-02-21 03:41:01

+0

关于录制前三个字母后打电话?拨打电话,然后用获取的数据对新字符进行过滤。 – Flezcano 2013-02-21 03:46:45