C# 从DataGridViewComboboxC列中选择值和文本

C# 从DataGridViewComboboxC列中选择值和文本,c#,C#,假设我有一个datagridview,datagridview有一个DataGridViewComboBoxColumn。 我已经用国家名称和代码填充了datagridview组合框列 现在,当我在for循环中读取datagridview单元格值时,我想得到datagridviewcomboxcolumn的selected值和text。我无法获取该值,但无法从for循环中的DataGridViewComboBoxColumn获取显示文本 如果可能的话,请plzz帮助我编写小代码 private

假设我有一个datagridview,datagridview有一个DataGridViewComboBoxColumn。 我已经用国家名称和代码填充了datagridview组合框列

现在,当我在for循环中读取datagridview单元格值时,我想得到datagridviewcomboxcolumn的selected值和text。我无法获取该值,但无法从for循环中的DataGridViewComboBoxColumn获取显示文本

如果可能的话,请plzz帮助我编写小代码

private void button1_Click(object sender, EventArgs e)
    {
        for (int i = 0; i <= dgList.Rows.Count - 1; i++)
        {
            DataGridViewComboBoxCell cell = dgList.Rows[i].Cells[0] as DataGridViewComboBoxCell;
            int index = cell == null || cell.Value == null ? -1 : cell.Items.IndexOf(cell.Value);
            string strVal = cell.Value.ToString();
        }
    }
谢谢

试试这个:

for (int i = 0; i <= dgList.Rows.Count - 1; i++)
        { 
       string strval=((ComboBox)(dgList.Rows[i].cells[0].FindControl("ComboBox1"))).SelectedValue;
        }

您可以尝试访问FormattedValue和Value之类的值,这应该会给出这两个值


我曾尝试使用字典作为数据源,并且使用上述属性,我能够获得这两个值。

您能否将值强制转换为预期的类型

试试这个:

dgList[columnName,RowIndex]。值

比如说


Convert.toInt32dgList[columnName,RowIndex].Value

如何将值绑定到组合框列?我不是说asp.net。我正在用c语言处理windows应用程序。因此,我正在使用datagridview。FindControl不在那里。您是否在win应用程序中测试了您的代码。感谢FormattedValue提供文本,Value提供值。它起作用了。