怎样实现winform中的textBox实现联想输入,并且对于一个字段来说输入它的Code,回车,得到它的Name。。
亲,求助
能说的具体点吗?
比如,在文本框里输入001001然后我打回车,【苏州】显示到文本框里。怎么实现
@_Cappuccino~: 给文本框添加keydown事件。判断如果是回车键,那么就把文字赋值给这个文本框。
使用模糊查询,得到结果之后,在窗体上放一个listbox
listbox选中项事件
{
获取回车按键的ASCII值和当前键盘按下去的按键的ASCII值进行匹配如果匹配上的话
textbox=当前listbox选中项
}
当前输入的这个值,要到数据库中区筛选的,它会自动将数据库中匹配的数据给列出来,就像
我在文本框里输入0,它回去数据库的相应的表中找匹配的数据,显示出来。
我想要的是,当我输入001001后,打回车直接出来【苏州】这个值。
@_Cappuccino~: 你等等,我做一下
@┢┦偉:
public Form1()
{
InitializeComponent();
AutoCompleteStringCollection ACSC = new AutoCompleteStringCollection();
string [] array = new string[] { "1", "12", "3" };
for (int i = 0; i < array.Length; i++)
{
ACSC.Add(array[i]);
}
textBox1.AutoCompleteCustomSource = ACSC;
}
然后只要在窗体上放一个textbox控件,设置textbox的
AutoCompleteSource属性为:CustomSource
AutoCompleteMode属性为:SuggestAppend
至于你说的回车那也可以实现,你把我的代码复制了去试试
@┢┦偉: 这个我已经实现,问题不在这里。。
我的问题是这个文本框里输入code,会根据这个字段的code在表中筛选,打回车之后直接code相对应的值也就是Name传过来,显示到文本框里。。不过,很谢谢哦
@_Cappuccino~: 请把code翻译过来 我看晕了
@┢┦偉: 就是在文本框中输入字段的代码,此时会在表中筛选匹配的数据,打回车之后,该字段相应的值显示在文本框里。。
@_Cappuccino~: 我刚才那个你修改一下数据源的话就可以得到你要的效果啊
@┢┦偉: 就按你上面的例子 输入0 出来001001(苏州)
001001是你的字段,苏州是字段相应的值对么?
@┢┦偉: 你的效果跟我之前的效果一样。不是我想要的。
可能你没遇到过这样的情况,同样谢谢
@┢┦偉: 该字段为城市【City】,这个City有一个代码,一个名称。我想在文本框里输入代码001001,打回车之后显示【苏州】。
目前的情况是出来001001(苏州),但是想要的结果是回车后,只有城市的名称显示
@_Cappuccino~: 字段City:1000苏州 1000上海 1000南京
你是想回车只要上海、苏州,不要前面那个编号是吗?
@┢┦偉: 是,但是,输入001001让他到表里去找苏州,然后把苏州赋给文本框
@_Cappuccino~: 你这有点复杂了吧 为上面不把city做一个字段,编号做一个字段,输入编号查询city呢
@┢┦偉: 亲,你理解错了。
city只是字段,我给你举个例子:
城市表(城市代码,城市名称) 形如
city(cityCode,cityName)
我们现在界面上有
我想要的是在文本框里输入001001它会自动的去城市表中找cityCode=‘001001’的这条数据,然后回车文本框里显示的cityName的值。
这次应该很清楚了吧
@_Cappuccino~: 大哥啊,是你说的太不清楚了,你这和我上面说的不是一样的么
一个编号(相当于你的001001) 一个city(城市名称) 是这样不
select cityName from city where cityCode=%文本框里面的值%
@┢┦偉:。。。
我不是大哥。。
谢谢了,给我说了这么多的建议,给了这么多的答案
@_Cappuccino~: 汗....那叫你小弟可以撒
@┢┦偉: hehe..偶是girl
@_Cappuccino~: 噢....原来如此
@┢┦偉:不然呢
@_Cappuccino~: 平时没看见过多少girl,所以...