老师要求通过在TEXTBOX中输入员工的姓名的首字母
然后显示所有员工信息
然后回车或双击
就选中将该员工姓名显示在TEXTBOX中
请问该怎么写啊 
给个思路或给个现成的代码
先谢了

解决方案 »

  1.   

    在数据库的员工表中设一个姓名拼音的字段,然后通过根据输入的字母来进行模糊查询。显示员工信息在一个dataGrid中,然后就是对dataGrid来进行操作啦。
    我的思路是这样的,不知道对不对。
      

  2.   

    包含姓名的数据表中再加一个字段(保存姓名的首字母)
            定义个listbox,
                
            private void textBox1_TextChanged(object sender, EventArgs e)
            {
                string s = textBox1.Text;
                读出数据库中与S匹配的姓名加到listbox的item 上,
     
            }  
            双击listbox的item,触发事件
            { Item 的值赋给textbox,
            }
      

  3.   

    给段变态的代码给你,是取的汉字首字母的^_^http://www.cnblogs.com/lovecherry/archive/2005/09/20/240163.html
      

  4.   

    dategrid那不是很难看啊,
    好像不是这样的
    我记得有好多系统都有这样的功能
    就是输入首字母可以出现
    所有有关的信息
    有listbox好像不是那样做的把
    我也想想
    希望其它人能在给点建议
      

  5.   

    static public string getSpell(string cnChar) 
            { 
                byte[] arrCN = System.Text.Encoding.Default.GetBytes(cnChar); 
                if(arrCN.Length > 1) 
                { 
                    int area = (short)arrCN[0]; 
                    int pos = (short)arrCN[1]; 
                    int code = (area<<8) + pos; 
                    int[] areacode = {45217,3,45761,46318,46826,47010,47297,47614,48119,48119,49062,49324,
    49896,50371,50614,50622,50906,51387,51446,52218,52698,52698,52698,
    52980,53689,54481}; 
                    for(int i=0;i<26;i++) 
                    { 
                        int max = 55290; 
                        if(i != 25) max = areacode[i+1]; 
                        if(areacode[i]<=code && code                    { 
                            return System.Text.Encoding.Default.GetString(new byte[]{(byte)(65+i)}); 
                        } 
                    } 
                    return "*"; 
                } 
                else return cnChar; 
            }
      

  6.   

    这句话 执行时if(areacode[i]<=code && code )
    报错
     运算符“&&”无法应用于“bool”和“int”类型的操作数