我在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”从数据库返回数据表的方法,它返回所有字段,包括代码
答案 0 :(得分:0)
我使用以下代码解决了它:
int SelectedVal = Convert.ToInt32(dgvReparair.Rows[dgvRepair.CurrentCell.RowIndex].Cells["Repair"].Value);