我正在构建一个具有DataGridView
的Winforms应用程序。数据网格视图未绑定到数据源。我的网格上有一个comboboxColumn
,我正在使用datatable
填充它。
当我尝试检索组合框单元格的选定值时,它给出的是第一个匹配的值,而不是确切的选定值。
Convert.ToString((datagridview1.Rows[i].Cells["columnName"] as DataGridViewComboBoxCell).Value)
例如 组合框数据表是
显示成员值成员 橙色 1111 苹果 2222 香蕉 3333 苹果 4444 番石榴 5555
现在,如果我选择 ID 为 4444 的苹果,上面的代码将获得 2222 的苹果。
我尝试执行以下链接中给出的步骤,但这给出了索引而不是值。
https://stackoverflow.com/a/30157754/3619679
我能够在以下链接的帮助下解决问题
https://stackoverflow.com/a/30157754/3619679
SelectedItem
存储所选组合框项的正确值。
private void datagridview1_CellEndEdit(object sender, DataGridViewCellEventArgs e)
{
if (cmbCombo != null)
{
DataRowView oDataRowView = cmbCombo.SelectedItem as DataRowView;
string sValue = string.Empty;
if (oDataRowView != null)
{
sValue = oDataRowView.Row["ValueMemberID"] as string;
}
datagridview1[e.ColumnIndex, e.RowIndex].Tag = sValue;
}
}