コード例 #1
0
        /// <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);
        }
コード例 #2
0
        /// <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));
        }