我想在页面上实现如下功能:
在一个文本框中输入姓名的字母,如lm,则下方的文本框中会出现人的名字,如:李明、李敏、李悯。如果只输入一具字母,则出现所有第一个字的拼音是以这个字母开头的姓名。并且能对出现的名字进行多选选择操作。
请问如何出实这样的功能????多指教了!!

解决方案 »

  1.   

    WEB上实现比较困难 可以将常用字库事先读取到客户端 通过jscript操作可实现你的要求
      

  2.   

    读取数据库写成XML文件存放到本地 然后再读取该xml文件
      

  3.   

    http://www.cnblogs.com/lovecherry/archive/2005/09/20/240163.html
      

  4.   

    用CS实现吧,BS中如有这样的控件,写好后记得发给我们大家共享啊
      

  5.   

    (1)在数据库中加入拼音码的表, 对应名字
    (2)web页面上面一个textBox,下面一个Dropdownlist。
    (3)textBox的离开事件里绑定Dropdownlist,代码如下:
    private void DownBind1()
    {

    string sql = " ";
    DataTable mytab = this.Get_Dt(sql); //绑定第一个下拉框
    this.mydown1.DataSource = mytab;
    this.mydown1.DataValueField = "id";
    this.mydown1.DataTextField = "context";
    this.mydown1.DataBind();
    ListItem myItem = this.mydown1.Items.FindByValue("1");
    }
      

  6.   

    加入拼音字段,然后进行模糊查询,界面上面可以加入一个类似ComBoBox之类的控件
      

  7.   

    我做过一个比较类似的,不过是用在mobile 上的.
    我的想法是这样:从数据库读出每人的姓名,且用一个函数来读出姓名的的每个词的首拼音字母,例:李某某(LMM)
    将姓名以及LMM,创建成一个基于内存中的表,用datatable,datacolumn,datarow.并和一个Dropdownlist控件绑定正如 fabiowen2() 说的,写一个textbox textchange事件,触发Dropdownlist,循环比较datavaluefiled
    的值是否于textbox的值是否相等,如果找到将此dropdonwlist的selected=true.就OK了再就是将dropdownlist的属性设为允许多选就可以
      

  8.   

    且用一个函数来读出姓名的的每个词的首拼音字母网上有这样的截取一个汉字的首拼音的函数,你可以找一找用一个循环读出每一个汉字.在循环中调用此函数.再连接起来就如:李某某(LMM)了.
      

  9.   

    CREATE function fun_getPY(@str nvarchar(4000))
    returns nvarchar(4000)
    as
    begin
    declare @word nchar(1),@PY nvarchar(4000)
    set @PY=''
    while len(@str)>0
    begin
    set @word=left(@str,1)
    --如果非汉字字符,返回原字符
    set @PY=@PY+(case when unicode(@word) between 19968 and 19968+20901
    then (select top 1 PY from (
    select 'A' as PY,N'骜' as word
    union all select 'B',N'簿'
    union all select 'C',N'错'
    union all select 'D',N'鵽'
    union all select 'E',N'樲'
    union all select 'F',N'鳆'
    union all select 'G',N'腂'
    union all select 'H',N'夻'
    union all select 'J',N'攈'
    union all select 'K',N'穒'
    union all select 'L',N'鱳'
    union all select 'M',N'旀'
    union all select 'N',N'桛'
    union all select 'O',N'沤'
    union all select 'P',N'曝'
    union all select 'Q',N'囕'
    union all select 'R',N'鶸'
    union all select 'S',N'蜶'
    union all select 'T',N'箨'
    union all select 'W',N'鹜'
    union all select 'X',N'鑂'
    union all select 'Y',N'韵'
    union all select 'Z',N'咗'
    ) T 
    where word>=@word collate Chinese_PRC_CS_AS_KS_WS 
    order by PY ASC) else @word end)
    set @str=right(@str,len(@str)-1)
    end
    return @PY
    end
      

  10.   

    给我解决这个问题:
    http://community.csdn.net/Expert/topic/4280/4280654.xml?temp=.513653
    http://community.csdn.net/Expert/topic/4279/4279143.xml?temp=.8691675