Set Combobox’s SelectedValue in DataGridview
To set SelectedValue in ordinary combobox, you can select from properties easily.
But … after binding DataTable into datagridview, I had no ideas what to do.
I thought it would be helpful for coding, so I put it here.
You can download the file from here that I created.
Contents
How to Set Combobox in DataGridview’s Selectedvalue
Here is how to code.
DatagridView[column, row].Value = intSelectedValue;
Only this.
I was looking for the “Selected blah-blah-blah” property of the datagridview ,so I could not find.
In the combobox of the datagridview, SelectedValue does not exist
We need to use value of “ValueMember” instead.
Sample Code(Set to Combobox of DataGridview)
When form loading
Set ValueMember and DisplayMember to combobox into datagridview when form loading.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 |
private void Form1_Load(object sender, EventArgs e) { DataTable dt = new DataTable(); DataRow dr; //Add column to table dt.Columns.Add("code"); dt.Columns.Add("Day_of_the_week"); //Set the day of the week on the table dr = dt.NewRow(); dr["code"] = "1"; dr["Day_of_the_week"] = "Monday"; dt.Rows.Add(dr); dr = dt.NewRow(); dr["code"] = "2"; dr["Day_of_the_week"] = "Tuesday"; dt.Rows.Add(dr); dr = dt.NewRow(); dr["code"] = "3"; dr["Day_of_the_week"] = "Wednesday"; dt.Rows.Add(dr); dr = dt.NewRow(); dr["code"] = "4"; dr["Day_of_the_week"] = "Thursday"; dt.Rows.Add(dr); dr = dt.NewRow(); dr["code"] = "5"; dr["Day_of_the_week"] = "Friday"; dt.Rows.Add(dr); //Set day of week column to datagridview DataGridViewComboBoxColumn colDate = new DataGridViewComboBoxColumn(); colDate.DataPropertyName = "Date"; colDate.DataSource = dt; colDate.ValueMember = "code"; colDate.DisplayMember = "Day_of_the_week"; dataGridView1.Columns.Insert(0, colDate); colDate.Name = "Day_of_the_week"; }</span> |
When the button is clicked, the number entered in the textbox is reflected to ValueMember (SelectedValue) of the combobox.
1 2 3 4 5 6 |
private void button1_Click(object sender, EventArgs e) { //Set textbox value to combobox dataGridView1[0, 0].Value = textBox1.Text; } </span> |