从DataGridViewComboBoxColumn c#中选择值和文本

时间:2012-01-05 10:41:14

标签: c#

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

所以现在我希望当我在for循环中读取datagridview单元格值时,我想要获取DataGridViewComboBoxColumn选择的值和文本。我无法获得该值,但无法从forG循环中的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();
        }
    }

感谢

3 个答案:

答案 0 :(得分:1)

您可以尝试访问FormattedValueValue等值,这应该会为您提供两个值。

我曾尝试使用Dictionary<string,string>作为DataSource,并使用上述属性,我能够获得这两个值。

答案 1 :(得分:0)

试试这个:

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

答案 2 :(得分:0)

您是否只是将值转换为预期类型?

试试这个:

dgList [“columnName”,RowIndex] .Value

例如

Convert.toInt32(dgList [“columnName”,RowIndex] .Value)