在窗体的构造函数里设置绑定列的DataSource 和ValueType还有DataPropertyName即可,如下所示
this.colEnumData.DataSource = new EnumAlarmLevel[] { EnumAlarmLevel.Level1, EnumAlarmLevel.Level2 };
this.colEnumData.ValueType = typeof(EnumAlarmLevel);
this.colEnumData.DataPropertyName = "EventSeverity";
解决因枚举值而导致的DataGridViewComboBoxColumn值无效的问题也可以用此方法解决
如果传过来的数据没有对应的枚举值,也会出现上图错误