项目需要一个搜索所在单位的选项,因为选项众多需要用下拉框来进行选择。
众多选择为了更好的使用,采用了拼音首字母进行查询。显示的效果如果下:
在输入框输入X出现X相关的单位信息。
因为我的项目是通过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);
}