Agregando enumeración al cuadro combinado
Hola, ¿puedo saber cómo obtener el valor de enumeración a continuación para enlazar en el cuadro combinado? Escribí el siguiente código que funciona bien, pero me pregunto si esta es la mejor manera.
public enum CourseStudentStatus
{
Active = 1,
Completed = 2,
TempStopped = 3,
Stopped = 4,
}
//Bind Course Status
Dictionary<string, int> list = new Dictionary<string, int>();
foreach (int enumValue in Enum.GetValues(typeof(CourseStudentStatus)))
list.Add(Enum.GetName(typeof(CourseStudentStatus), enumValue), enumValue);
var column = ((DataGridViewComboBoxColumn)dgv.Columns["studentCourseStatus"]);
column.DataPropertyName = "StudentStatus";
column.DisplayMember = "Key";
column.ValueMember = "Value";
column.DataSource= list.ToList();
----------------- ACTUALIZACIÓN -------------------
He cambiado mi código a esto de acuerdo con Sanjeevakumar Hiremat y funciona perfectamente.
cbStatus.DataSource = Enum.GetValues(typeof(CourseStudentStatus));
Sin embargo, cuando quiero obtener un Get () y quiero volver a vincular el valor al cbStatus, emite el error {"Referencia de objeto no establecida en una instancia de un objeto"}cbStatus.SelectedValue = Course.Status;
.
El cbStatus.Datasource no está vacío y tiene valor después de enlazado acbStatus.DataSource = Enum.GetValues(typeof(CourseStudentStatus));
por favor aconséjame