[小问题笔记(四)] Enum枚举类型转换为DataTable( C# )

枚举:

 public enum ProductType
 {
    小产品=1,
    大产品,
    超大产品
}

 

转换方法:

/// <summary>
/// 枚举类型转化为DataTable
/// </summary>
public static DataTable EnumToDataTable(Type enumType, string key, string val)  
{  
           var names = Enum.GetNames(enumType);  
           var values = Enum.GetValues(enumType);  
   
           var table = new DataTable();  
           table.Columns.Add(key, Type.GetType("System.String"));  
           table.Columns.Add(val, Type.GetType("System.Int32"));  
           table.Columns[key].Unique = true;  
           for (int i = 0; i < values.Length; i++)  
           {  
               var dr = table.NewRow();  
               dr[key] = names[i];  
               dr[val] = (int)values.GetValue(i);  
               table.Rows.Add(dr);  
           }  
           return table;  
}  


引用:

 var dt = EnumToDataTable(typeof(ProductType), "key", "value");

 

posted @ 2014-09-17 15:34  Hydor  阅读(1064)  评论(0编辑  收藏  举报