首页 新闻 会员 周边

c#如何实现文本框自动完成?

0
[待解决问题]

如下界面中,如输入“xxs”出现“小学生”中文汉字

注意事项 1.出现的“小学生”源于自己定义的一个数据来源

2. 界面可能有多个文本框,且文本框的数目不一定

3.需要考虑界面的压力,加载不能太慢

c#
蛮启的主页 蛮启 | 初学一级 | 园豆:180
提问于:2018-03-15 10:30
< >
分享
所有回答(4)
0

感觉表要有有两个字段,一个名称(存小学生),一个缩写(存xxs),文本框放一个焦点事件,文本框改变事件,或者是点击事件都行,触发后,进行模糊查询,加载就好了

但乱红尘熊 | 园豆:773 (小虾三级) | 2018-03-15 10:35
0

本质上是模糊搜索嘛

猝不及防 | 园豆:2831 (老鸟四级) | 2018-03-15 13:30
0

首先你要确定 xxs和小学生 这样的匹配关系的数量,在你的系统中是有限的,还是几乎无限的。

换句话说,就是 你希望得到的 “小学生”这个字符串,是本来就存在于你数据库中的一个业务数据,还是它仅仅是xxs这个拼音缩写能在汉语词汇中匹配的所有可能性中的一种?

 

搞清这一点,至关重要。

西漠以西 | 园豆:1675 (小虾三级) | 2018-03-15 17:35
0

1.定义数据源:可以按照【淘小涛】的方法创建表(两个字段),一个存简写(缩写),一个存匹配的值;

2.文本框的数目不一定:这个没有关系,只要给每个文本框设定一个唯一标识(类似 id),就可以指定文本框显示结果值;

3.加载速度:其实你做的应该类似小项目这种,我想数据并不是很多,上万条直接一次性读出来也是很快的;针对速度,数据库建立一下索引,或者数据量不大,在程序启动时直接读取到内存中进行匹配;使用异步多线程方式都是可以的。

反骨仔 | 园豆:444 (菜鸟二级) | 2018-03-20 07:43
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册