我想用C#实现这样一个功能 汉语拼音 索引
假如我在我界面的组合框中输入 CS 就在我的 组合框中的下拉列表中添加并 展开下拉列表 所有的汉语拼音为CS打头的城市名 (在我的SQL数据库里面有的 我首先查找出来了 存在 ArrayList 中) 当我只输入一个 C 时就 添加并展开下拉列表 汉语拼音以 C 打头的所有城市
谢谢 高手了
最好写上注释 我是初学者 谢谢了 !!!
假如我在我界面的组合框中输入 CS 就在我的 组合框中的下拉列表中添加并 展开下拉列表 所有的汉语拼音为CS打头的城市名 (在我的SQL数据库里面有的 我首先查找出来了 存在 ArrayList 中) 当我只输入一个 C 时就 添加并展开下拉列表 汉语拼音以 C 打头的所有城市
谢谢 高手了
最好写上注释 我是初学者 谢谢了 !!!
2、这里要考虑一个延迟问题,应该是键盘输入停顿300-500毫秒才激活。
然后循环判断
if(str.indexOf("cs")!=-1)
如果不等于-1说明结果存在cs则把cs相关的值显示在下拉列表框里
前面的 高手 有没有什么方法能在数据库里查出来的数据中匹配的
4楼的兄弟
如果象你那样查询的话 是不是查出来的就是 "CS" 的项了啊 我是想输入 CS 查询出来的是 长沙 我知道用死方法去添加 但是那样是很麻烦 有没有自动添加的方法 我现在的问题就是如何去匹配我输入的项 请教 高手
你是要实现这样的功能吗?
或者你说的城市库
就有难度你把你的数据库里的数据提取出来的时候
转换
把汉字转换为拼音到处都是
也可以只获取,声母的组合要不就直接改数据库,在录入数据的时候,多加个拼音转换
直接存到数据库里用datatable.select()ArrayList
存在ArrayList 里,用循环,遍历
加个临时的 ArrayList
装你筛选后的数据
然后返回 以C打头的
------ 11楼思路就可以!
ArrayList
存在ArrayList 里,用循环,遍历
加个临时的 ArrayList
装你筛选后的数据
-------
下载网址:http://www.microsoft.com/downloads/details.aspx?FamilyID=f9cfc884-1f00-45fa-b2fb-303d9e110bc7&displaylang=zh-cn查询的时候就用Pinyin LIKE 'cs%'这种方式。如果数据量比较大,最好设置一个值,当用户输入的字符长度大于这个值才到数据库中查询。否则输入字母少的时候匹配项太多,改变一个字符就要刷新一次下拉列表项,速度会受影响。如果数据量比较小,比如省市也就几百条,可以先将所有数据查出来放在一个DataTable,List,Directory等中,然后根据输入再查出对应项。DataTable可以直接用SQL条件进行Select。List或者Directory等要把数据转换成对象,适合于面向对象的方式,VB可以用Like直接匹配字符串,C#可以用正则。如果用VS2008,则可以用Linq。以上方式供参考,根据需要选择适合的方式。提示一个小技巧:加载ComboBox的项之前,调用ComboBox.BeginUpdate(),加载完成后调用ComboBox.EndUpdate()。当向列表添加大量的项时,使用这种方法添加项可以防止绘制 ComboBox 时闪烁。另外也不要用ArrayList,装箱拆箱耗资源。尽量采用泛型,用System.Collections.Generic.List类替代ArrayList。如果只是字符串,可以用System.Collections.Specialized.StringCollection类。你的程序是WinForm吧,应该比较容易。如果是Web,就要用Ajax实现,稍微麻烦一点。具体的代码就得靠你自己写,多实践一下就明白了。