/// <summary> /// 获取多个标签枚举信息 /// </summary> /// <param name="enumKeys">枚举Key与对应查询列的字典</param> /// <returns>标签枚举集合</returns> public static ArrayList GetEnumsData(Dictionary <string, string> alEnumColumns) { ArrayList al = new ArrayList(); foreach (KeyValuePair <string, string> kv in alEnumColumns) { Type type = GetEnumType(kv.Value); if (type == null) { EnumDefInfo enumInfo = EnumBaseHelper.GetEnumDef(kv.Value); Hashtable ht = new Hashtable(); ht["enumkey"] = enumInfo.Code; ht["title"] = enumInfo.Name; ht["queryfield"] = Convert.ToString(kv.Key); ArrayList alItems = new ArrayList(); //系统枚举:周期 if (enumInfo.Code.ToLower() == "system.interval") { NameValueCollection nvc = GetNVCFromEnumValue(typeof(SystemEnumInterval)); foreach (string key in nvc) { Hashtable htItem = new Hashtable(); htItem["value"] = nvc[key]; htItem["text"] = key; htItem["radio"] = "T"; alItems.Add(htItem); } } //系统枚举:本人本部门 else if (enumInfo.Code.ToLower() == "system.ownerowndept") { NameValueCollection nvc = GetNVCFromEnumValue(typeof(SystemEnumUser)); foreach (string key in nvc) { Hashtable htItem = new Hashtable(); htItem["value"] = nvc[key]; htItem["text"] = key; htItem["radio"] = "T"; alItems.Add(htItem); } } else { ICollection <EnumItemInfo> enumItems = enumInfo.EnumItem; foreach (EnumItemInfo item in enumItems) { Hashtable htItem = new Hashtable(); htItem["value"] = item.Code; htItem["text"] = item.Name; htItem["radio"] = "F"; alItems.Add(htItem); } } ht["menus"] = alItems; al.Add(ht); } else { EnumDefInfo enumInfo = EnumBaseHelper.GetEnumDef(type); Hashtable ht = new Hashtable(); ht["enumkey"] = enumInfo.Code; ht["title"] = enumInfo.Description; ht["queryfield"] = kv.Key; ArrayList alItems = new ArrayList(); foreach (EnumItemInfo item in enumInfo.EnumItem) { Hashtable htItem = new Hashtable(); htItem["value"] = item.Code; htItem["text"] = item.Name; htItem["radio"] = "F"; alItems.Add(htItem); } ht["menus"] = alItems; al.Add(ht); } } return(al); }
/// <summary> /// 获取单个枚举信息 /// </summary> /// <param name="enumCode"></param> /// <returns></returns> public static String GetEnumData(string enumCode) { Hashtable ht = new Hashtable(); Type type = GetEnumType(enumCode); if (type == null) { EnumDefInfo enumInfo = EnumBaseHelper.GetEnumDef(enumCode); ht["enumkey"] = enumInfo.Code; ht["title"] = enumInfo.Name; ArrayList alItems = new ArrayList(); //系统枚举:周期 if (enumInfo.Code.ToLower() == "system.interval") { NameValueCollection nvc = GetNVCFromEnumValue(typeof(SystemEnumInterval)); foreach (string key in nvc) { Hashtable htItem = new Hashtable(); htItem["value"] = nvc[key]; htItem["text"] = key; htItem["radio"] = "T"; alItems.Add(htItem); } } //系统枚举:本人本部门 else if (enumInfo.Code.ToLower() == "system.ownerowndept") { NameValueCollection nvc = GetNVCFromEnumValue(typeof(SystemEnumUser)); foreach (string key in nvc) { Hashtable htItem = new Hashtable(); htItem["value"] = nvc[key]; htItem["text"] = key; htItem["radio"] = "T"; alItems.Add(htItem); } } else { ICollection <EnumItemInfo> enumItems = enumInfo.EnumItem; foreach (EnumItemInfo item in enumItems) { Hashtable htItem = new Hashtable(); htItem["value"] = item.Code; htItem["text"] = item.Name; htItem["radio"] = "F"; alItems.Add(htItem); } } ht["menus"] = alItems; } else { EnumDefInfo enumInfo = EnumBaseHelper.GetEnumDef(type); ht["enumkey"] = enumInfo.Code; ht["title"] = enumInfo.Description; ArrayList alItems = new ArrayList(); foreach (EnumItemInfo item in enumInfo.EnumItem) { Hashtable htItem = new Hashtable(); htItem["value"] = item.Code; htItem["text"] = item.Name; htItem["radio"] = "F"; alItems.Add(htItem); } ht["menus"] = alItems; } return(JsonHelper.ToJson(ht)); }