当前位置:主页>仓库管理软件> 列表

50分求如何做这种功能(象搜索引擎查询是自动根据输入缩小范

财务软件版1楼: (象搜索引擎查询是自动根据输入缩小范围要求在程序界面上实现)急!
请求以前做过此类功能的高手赐教,我是在一个combobox控件里输入内容,然后在下面的下拉列表里显示其数据库中的类似值,看似简单,实现起来好多细节老不尽人意,有做过这种功能的吗?用listbox也好,关键是好用!谁帮帮忙呀!
如果哪位高手能做出百度那种效果,不过要在程序中(不是在网页上,我愿献上100分),问题很急呀!

2楼: 如果数据量不大的时候可以响应输入事件使用输入值在数据库中做LIKE查询,将查询结果放入COMBOBOX中。 如管家婆软件下载

3楼: 我这样做的,关键是界面上如何实现,比如处理keypress,change等,但我用keypress就滞后,用change吧又老是陷入循环调用

4楼: 你用一下EHLIB3.0里面的comboboxeh控件可以作到。

5楼: 能说的具体一点吗?去哪找EHLIB3.0

6楼: 用CHANGE没什么问题的吧,你需要的就是利用CHANGE事件每次输入就出发的特性啊,每输入一个字符就检索一次数据库,SELECT * FROM ... WHERE XX LIKE ''%输入值%''。

财务软件版7楼: 那么当你选中某一条的时候,他会再次触发change事件,看起来让人莫名其妙,你有代码吗,贴上来看看好吗

8楼: 还有一个问题,随着不断的输入,我需要把原来的内容清空,但是一下子把输入的东西也给清了,我先保存输入眶的值清空后再给他赋回来,但是又会触发change事件,有办法只清除列表,但不改变输入框的值吗?

9楼: 以前作过,现在没有的。在下拉框中显示的应该是从数据库中获得的完整数据吧,如果是,当你的数据库中没有重复记录的话下拉框中最后只会显示一条,当然你可以通过判断SELECT语句获得的记录条数进行相应的控制(如:条数为1,则不显示)

10楼: 我要说的是:中文输入法在输入的时候可能会连输几个字,然后一起进去,其实不是一起进去的,中文字串是一个一个进去的,当select语句运行后,原来的那几个字可能被替换掉,所以最终只能找到最后一个中文字符所符合的记录,一般的做法都是把所有的记录放在combobox中,然后让它自己去匹配找到最先符合的那条记录