public static DataTable EnumToDataTable(Type enumType, string key, string val) { string[] Names =System.Enum.GetNames(enumType); Array Values = System.Enum.GetValues(enumType); DataTable table = new DataTable(); table.Columns.Add(key, System.Type.GetType("System.String")); table.Columns.Add(val, System.Type.GetType("System.Int32")); table.Columns[key].Unique = true; for (int i = 0; i < Values.Length; i++) { DataRow DR = table.NewRow(); DR[key] = Names[i].ToString(); DR[val] = (int)Values.GetValue(i); table.Rows.Add(DR); } return table; }