从datagridview中的组合框获取实际代码编号值,而不是列名

时间:2017-04-05 07:36:34

标签: c# datagridview combobox

我在datagridview中创建了一个组合框列,我从数据库中填充它。但我现在要做的是从所选项目中获取实际代码编号值,以便我可以像在普通的组合框中一样使用它。问题是每当我从列表中选择一个项目时,我都会得到列的名称:代码编号值所在的“代码”而不是代码编号值。

请帮帮我,这是我的代码:

    private void Invoice_Load(object sender, EventArgs e)
    {
        Logic.Repair objRepair = new Logic.Repair();

        public DataGridViewComboBoxColumn dgvCB = new DataGridViewComboBoxColumn();

        dgvCB.Name = "Repair";
        dgvCB.HeaderText="Repair";
        dgvCB.DataSource = objRepair.AllRepairQuery();
        dgvCB.DisplayMember = "Repair";
        dgvCB.ValueMember = "Code"; //this is what I keep geting, the word "Code"
                    //what I want to get is the code number value not the column's name.
        dgvRepair.Columns.Add(dgvCB);
    }

提前致谢。

修改

“AllRepairQuery”是一个使用“select * from repair”从数据库返回数据表的方法,它返回所有字段,包括代码

1 个答案:

答案 0 :(得分:0)

我使用以下代码解决了它:

int SelectedVal = Convert.ToInt32(dgvReparair.Rows[dgvRepair.CurrentCell.RowIndex].Cells["Repair"].Value);