c#获取DatagridviewComboBoxCell的选中值

c# Get DatagridviewComboBoxCell's Selected Value

我正在构建一个具有 DataGridView 的 Winforms 应用程序。 DataGridView 未绑定到数据源。我的网格上有一个 comboboxColumn,我正在使用 datatable 填充它。

当我尝试检索 comboBoxCell 的 selectedValue 时,它​​给出了第一个匹配值而不是确切的 selected 值。

Convert.ToString((datagridview1.Rows[i].Cells["columnName"] as DataGridViewComboBoxCell).Value)

例如, 组合框数据表是

显示成员值成员
橙色1111
苹果2222
香蕉3333
苹果4444
番石榴5555

现在,如果我 select ID 为 4444 的 Apple,上面的代码将获得 ID 为 2222 的 Apple。

我尝试执行下面给出的步骤 link,但这是给出索引而不是值。

在下面的帮助下我能够解决问题 link

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;
            }

        }