请教各位高手一个比较棘手的问题(类似联想输入)

问题描述

现在想在winfrom中实现类似百度搜索栏一样的功能,就是当用户在输入文字后从数据库中提取相关数据前十条提示在下面。在网上也查找过资料,1、使用textbox的AutoCompleteMode为suggestAppend这样的属性,带来的问题就是无法根据用户的输入动态绑定前十条数据。如果通过textchanged来动态绑定数据,由于上面的属性会不停的触发textchanged事件。例如,数据库前里有aa,ab,ac,ad,abc当客户输入a,由于suggestAppend,就会变成aa,这时候触发textchanged,就会根据aa重新绑定数据源,那么客户永远无法选择到ab2、这时候我想到把AutoCompleteMode设置为suggest,这时候带来的问题是,当数据库里有中国,中华,中影,中央人民。当客户输入汉字中央,当中字进入textbox就会触发textchanged,开始重新绑定数据源,但之后的央就被“吃”了。也就是说用户只能一个字一个字的输入。3、后来我想自己做一个相同的效果的自定义控件,上面放一个textbox,下面放一个listbox,通过隐藏和高度计算以及显示来达到同样的效果,但带来的问题是控件不能超出窗体本身。如果有10条数据,listbox会很高,那么相对应的usercontrol也会很高。那么将这个自定义控件放到别的窗体的时候,就要求别的窗体也能容纳下这个用户控件。这时候用户在不使用的时候,只有一个文本框显示,而下面空着一大片地方给人很不舒服。就算动态控制高度,如果这个控件是放在一个本身就不高的panel里时候,无论如何也是显示不出来比较靠下的几行的。不知道各位高手有没解决方法,不胜感激

解决方案

解决方案二:
弹出一个window,只不过window只有一个下拉列表而已,至于怎么去控制这个弹出的window,你要做的事情还有很多。
解决方案三:
你先把所有数据加载到内存,然后输入时,从内存中过滤显示
解决方案四:
能不能少有一些提示呢?比如,统计一下用户的输入的频率,只显示频率最高的前10个!或者是有一定关联的,不过这个就太复杂了!
解决方案五:
引用2楼的回复:

你先把所有数据加载到内存,然后输入时,从内存中过滤显示

求思路,现在貌似不是数据源的来源问题,而是控件机制的问题
解决方案六:
比如我们做股票软件,你输入股票代码就会列出股票,程序启动时,就会把所有股票列表加载到内存,当你输入时,就会遍历列表找到符合条件的股票,当做数据源绑定到显示列表
解决方案七:
引用5楼的回复:

比如我们做股票软件,你输入股票代码就会列出股票,程序启动时,就会把所有股票列表加载到内存,当你输入时,就会遍历列表找到符合条件的股票,当做数据源绑定到显示列表

我现在不是数据源的问题,而是获得数据源绑定之后的效果无法实现的问题

时间: 2024-09-18 12:12:51

请教各位高手一个比较棘手的问题(类似联想输入)的相关文章

请教CSDN高手一个非常棘手的问题!HttpPostedFile里的filename乱码!

问题描述 HttpFileCollectionfiles=HttpContext.Current.Request.Files;System.Web.HttpPostedFileFile=files.Get(0);附图:_filename是本地硬盘读取的文件名,因为乱码,所以无法正确取硬盘文件进行上传!http://www.stqq.com/attach.aspx?attachid=10562求助高手帮忙解决!!! 解决方案 解决方案二:顶~~~~~~因为编码我设置都是gb2312但还是出现那样的

请教各路高手一个制作java安装文件的问题

问题描述 我想要实现把我做的项目跟java虚拟机做成一个安装文件,这样各户只要双击一下安装包,就可以用我的项目了,而不用去自己装java虚拟机和配环境.怎么做才能实现这样呢. 谢谢 解决方案 我们公司是使用installanywhere来做的,这个完全可以满足你的要求.而且eclipse安装程序也是用这个来打包制作的.楼主可以在网上查一些教程!

请教各位高手一个spring下的junit测试问题

问题描述 由于我注入的service里面加载了一些properties等文件,导致出现路径问题使得applicationContext.xml加载不成功.类似:假如我要初始化一个abcService,这个service加载了/web-inf/abc.properties由于正常运行时,初始化abcService需要读取d:eclipse.metadata.pluginsorg.eclipse.wst.server.coretmp0wtpwebappstestPrjWEB-INFabc.prope

想请教各位高手一个sql的问题--在线等呀

问题描述 我自己写了一个asp.net网站,数据库是sql2000,因为我的电脑是vistahome版,所以装不了iis,但是我是用网上的一个miniASPNETServer来调试程序的,可以修改和删除信息,但是就是不能插入信息,没有提示错误,就是点保存新增信息后,返回查询页面,但是就是没有把信息插入到数据库.我的操作sql的语句是写在C#里,并且是生成dll来调用的.以下是插入的函数:请大家帮忙看看是程序的问题,还是我电脑的问题.///<returns>返回ID,如果发生错误则返回-1<

请教高手一个问题

问题描述 请教高手一个问题,我这里有两台服务器DELL2850cpu3.2内存3G一台用作web服务器,一台用作数据库服务器.oracle中有十万条数据,在web服务器中启动websphere5.1,cpu占用率百分之九十多,系统页面刷新不出来.请问是硬件问题,还是websphere没有设置好.谢谢 解决方案 解决方案二:需要做Profiling才能够找出瓶颈.CPU占用率高的话,需要看WAS进程占用了多少?如果单个WAS进程使用超过80%的话,那么你肯定需要加CPU了解决方案三:启动websp

html-本人菜鸟一枚,请教大神一个关于CSS中ID和类选择器不能用,而标签选择器能用的问题

问题描述 本人菜鸟一枚,请教大神一个关于CSS中ID和类选择器不能用,而标签选择器能用的问题 FIREFOX浏览器,代码如下: HTML代码片段: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> @import url(template/default/styl

c 面试题 面试-C 语言几道面试题,请教一下高手们

问题描述 C 语言几道面试题,请教一下高手们 判断题1.声明函数int fun(int a[10]);则a表示一维数组变量名. 判断题 2.char *p = "hello", char str[] = "hello";表示指针变量 p和str 都指向文字常量"hello". 问答题: 以下程序是否有误,如果无误,请写出执行次数(1 ). int x = -1; do{ x = x * x; }while(!x); 有点不确定,发上请教一下!!!

万年历-请教各位高手,如何在GridView上做个标记

问题描述 请教各位高手,如何在GridView上做个标记 我在做个万年历的小app,以GridView实现日期的显示 如何在当前日期上做个标记呢,以显示是当天呢 解决方案 找到但前日期,给该项做一个边框显示(或者加粗) 解决方案二: 给那个item设置个背景就行了

请教大神一个问题,jboss集成netty 有人知道咋弄吗

问题描述 请教大神一个问题,jboss集成netty 有人知道咋弄吗 我想把netty集成到jboss容器里,有人知道怎么弄嘛?谢谢各位了 解决方案 难道没有大神?? 很捉急啊?拜托拜托啊 解决方案二: Netty是由JBOSS提供的一个java开源框架,你直接在eclipse里开发使用就行了,应用服务器可以使用Jboss或者其它的 不需要把netty直接集成到jboss容器里 解决方案三: 关于netty学习的例子,可以参考以下链接 http://mushiqianmeng.blog.51ct