项目需要一个搜索所在单位的选项,因为选项众多需要用下拉框来进行选择。
众多选择为了更好的使用,采用了拼音首字母进行查询。显示的效果如果下:
image
在输入框输入X出现X相关的单位信息。
image
因为我的项目是通过webAPI接口获取数据,我先是把所以这个下拉框需要显示的数据全部接收。
单位ID,单位名称,单位的拼音首字母
然后需要把单位按拼音首字母进行分类。
比如查询心内科,xnk,我需要输入x,xn,xnk都要有该单位信息。
我用的是Dictionary<string,List<单位>>
这样子能通过关键字来搜索,所有符合的单位信息,问题是我怎么获取这个Dictionary

//通过接收的单位信息遍历单位
 foreach(var item in recivewOfficeList)
            {
                    string str = "";
               //遍历单位的拼音首字母
                    foreach (char key in item.officeInitial)
                    {
                        List<OfficeInfo> list = new List<OfficeInfo>();
                        str += key;
                 //查看Dictionary中是否已经存在
                        if (offcelist.ContainsKey(str))
                        {//接收Dictionary原有的List
                            list = (List<OfficeInfo>)offcelist[str];
                            list.Add(item);
                         //移除原有的List
                            offcelist.Remove(str);
                        }
                        else
                        {
                            list.Add(item);
                        }
                        offcelist.Add(str, list);
                  }
posted on 2022-08-17 18:02  笨蛋香芹  阅读(290)  评论(0编辑  收藏  举报