【发布时间】:2017-06-28 06:46:09
【问题描述】:
我有一个从数据库绑定数据的 Datagridview。
DataGridViewTextBoxColumn colOperationID = new DataGridViewTextBoxColumn();
colOperationID.Name = "OperationID";
colOperationID.DataPropertyName = "OperationID";
BOMOperations.Columns.Add(colOperationID);
DataGridViewComboBoxColumn colOperationDesc = new DataGridViewComboBoxColumn();
colOperationDesc.Name = "OperationDesc";
colOperationDesc.DataSource = srcDT;
colOperationDesc.DisplayMember = "OperationDesc";
colOperationDesc.ValueMember = "OperationID";
colOperationDesc.DataPropertyName = "OperationDesc";
colOperationDesc.DisplayStyle = DataGridViewComboBoxDisplayStyle.ComboBox;
colOperationDesc.DefaultCellStyle.BackColor = Color.White;
colOperationDesc.DisplayStyleForCurrentCellOnly = true;
BOMOperations.Columns.Add(colOperationDesc);
然后用户将单击编辑按钮,datagridview 将变为可编辑。我的问题是,当我单击 datagridviewcombobox 列时,我将选择一个项目,该项目将正确显示(DisplayMember),但只要单元格失去焦点,组合框的单元格就会显示 ValueMember。
我已经尝试过我在这里检查数据类型的解决方案,但我的解决方案是正确的。 DisplayValue 是一个字符串,而 DisplayValue 是一个 int。
我还尝试将以下行 colOperationDesc.DataPropertyName = "OperationDesc"; 更改为 colOperationDesc.DataPropertyName = "OperationID";,它给了我这个例外。 exception
【问题讨论】:
标签: c# winforms datagridview