获取datagridview选定的行列值到组合框

时间:2019-05-08 09:31:36

标签: c#

需要从datagridviewcombobox的值获取帮助,我有一个datagridview从SQL获取数据,该数统计从SQL检索到的5列和行数, 4个文本框和2个组合框。

我已经为textboxcombobox编写了如下代码。

               int i;
               i = dataGridView1.SelectedCells[0].RowIndex;

             textBox4.Text = dataGridView1.Rows[i].Cells[0].Value.ToString();
             textBox3.Text= dataGridView1.Rows[i].Cells[1].Value.ToString();

            comboBox1.SelectedValue = dataGridView1.Rows[i].Cells[2].Value.ToString();

            textBox5.Text = dataGridView1.Rows[i].Cells[3].Value.ToString();
            textBox1.Text = dataGridView1.Rows[i].Cells[4].Value.ToString();
            comboBox2.SelectedIndex = Convert.ToInt32(dataGridView1.Rows[i].Cells[4].Value.ToString());

我可以完美地获取文本框值,但希望datagridview所选行的列值进入组合框。

2 个答案:

答案 0 :(得分:0)

不要使用SelectedIndex,请使用SelectedValue。

尝试一下:

comboBox1.DisplayMember = "MyFieldText";
comboBox1.ValueMember = "MyFieldId";
var myObject = (MyObject)dataGridView1.SelectedRows[0].DataBoundItem;
comboBox1.SelectedValue = myObject.Id;

答案 1 :(得分:0)

如果要将这些字符串添加到comboBox,则不应使用SelectedIndex属性。

如果我正确理解了您的意图,这就是我认为您正在寻找的东西:

comboBox2.Items.Add(dataGridView1.Rows[i].Cells[4].Value.ToString());