单元格显示值成员 (ID) 而不是显示成员

Cells show the value member (ID) instead Display member

我目前正在使用 C#,我有以下代码在 DGV 中设置 ComboBox 列:

// Add the values of the combo box
dgvcbGeneric.DataSource = dtDataSource;
dgvcbGeneric.ValueMember = "ID";
dgvcbGeneric.DisplayMember = "Value";
dgvcbGeneric.DataPropertyName = strColumn;
dgvcbGeneric.DisplayStyle = DataGridViewComboBoxDisplayStyle.ComboBox;

dgvcbGeneric.DisplayStyleForCurrentCellOnly = true;
// vGenericCMB.SortMode = DataGridViewColumnSortMode.Automatic

dgvcbGeneric.DefaultCellStyle.NullValue = columns[strActualColumn].nullFormat;

// Add the new ComboBoxColumn of the DGV
dgvLink.Columns.Add(dgvcbGeneric);

一切正常,但 DGV 仅在单元格具有焦点时显示成员值:

谁能解释一下为什么会出现这个问题?

错误是我自己找的。基本上在 DGV 的数据源中,列 "Day" 的类型为 "Byte"(SQL 中的 tinyint)。 当代码尝试创建 DataTable 以填充 DGV ComboBox 列时; ID 类型是 "Integer".

解决方案是检查 ID 的数据类型与列源。如果不同;抛出异常以检查之前。