日期:2014-05-17  浏览次数:20567 次

类似团购网上 怎样用拼音开头字母选择城市
类似这个网站 点击上面弹出的城市选择框 http://ju.taobao.com ,怎样实现或者有没有现成的代码呢

------解决方案--------------------
先有一个拼音对照表,每一个汉字的声母的字母都有记录

城市表里有一个字段(PY),是城市的拼音声母缩写,当往城市表里插入新数据时,查询对照表,找到城市名对应的字母,并保存到PY,后面就是查询的事了

------解决方案--------------------
可以将中文转拼音,需要一个dllChnCharInfo.dll
C# code

        public static string ToShortPY(this string str)
        {
            string temp = string.Empty;
            foreach (char i in str)
            {
                try
                {
                    ChineseChar chineseChar = new ChineseChar(i);
                    string t = chineseChar.Pinyins[0].ToString();
                    temp += t.Substring(0, 1);
                }
                catch
                {
                    temp += i.ToString();
                }
            }
            return temp;
        }

------解决方案--------------------
表结构我感觉是这样:
SQL code

--省份表
create table Province
(
ID int,--主键
Name nvarchar(20)--省名称
)
--城市表
create table City
(
ID int,--主键
Name nvarchar(20)--中文名称
PYName nvarchar(20) --拼音名称
PID int,--所属省份
)