2 u011382188 u011382188 于 2014.11.18 20:11 提问

C#Winfrom中如何在combox中输入首字母下拉表中出现对应汉字

如题,我在数据库中建立了表,首字母和相应的汉字都有,如何在程序中让combox输入首字母显示出汉字呢,就像12306订票系统一样,在站台名中输入首字母出现汉字。

5个回答

save4me
save4me   Ds   Rxr 2014.11.18 21:32
已采纳

因为你已经有你的数据库表,所以可以参考一下根据拼音首字母进行过滤的combobox
关于扩展可以支持拼音首字母查询的ComboBox自定义控件,可以参考支持拼音首字母查询的ComboBox

caozhy
caozhy   Ds   Rxr 2014.11.18 20:22
woainiliuliu
woainiliuliu   2014.11.18 22:32
duanzi_peng
duanzi_peng   Rxr 2014.11.19 19:12

[link text]链接1

kkx62839739
kkx62839739   2014.12.03 11:24

楼主应该说的是 TextBox ??? 数据库建立两个字段,一个 汉子名字字段,一个拼音首字母匹配的字段 , 然后在 绑定输入…………额,直接上代码你看看
private List stationList = new List();

 if (this.Text.Length > 0)
        {
            foreach (station s in te.station.Where(c => c.station_reserved1.StartsWith(this.Text)))
                stationList.Add(s);
            foreach (station s in te.station.Where(c => c.station_name.StartsWith(this.Text)))
                stationList.Add(s);
        }
        if (stationList.Count > 0)
        {
            if (listBox == null)
            {
                listBox = new ListBox();
                listBox.Visible = false;
                listBox.Width = this.Width;
                listBox.Height = 100;
                Control parent = this.Parent;
                while (parent.Parent != null)
                    parent = parent.Parent;
                listBox.Parent = parent;
                listBox.Location = new Point(this.Location.X, this.Location.Y + this.Height);
                listBox.Click += new EventHandler(listBox_Click);
            }
            listBox.DataSource = stationList;
            listBox.ValueMember = "station_code";
            listBox.DisplayMember = "station_name";
            listBox.Visible = true;
            listBox.BringToFront();
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!