In the previous blog, we learned how to place drop down inside DataGridView cell on cell click, and binding of dropdown with datatable.
Now, we will see how to get Selected Values of Combobox from DataGridView.
Step 1: Register handler of “SelectedIndexChange” with dropdown of DataGridView.
- ComboBox editGridCellComboBox = new ComboBox();
- /// <summary>
- /// Control for editing a cell is showing.
- /// </summary>
- /// <param name="sender"></param>
- /// <param name="e"></param>
- private void dgv_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e)
- {
- editGridCellComboBox = (ComboBox) e.Control;
- if ((editGridCellComboBox != null)) {
- editGridCellComboBox.SelectedIndexChanged += editGridCellComboBox_SelectedIndexChanged;
- }
- }
- private void editGridCellComboBox_SelectedIndexChanged(System.Object sender, System.EventArgs e)
- {
- if (editGridCellComboBox.SelectedItem != null) {
- editGridCellComboBox.SelectedIndexChanged -= editGridCellComboBox_SelectedIndexChanged;
- if (dgv.Columns[dgv.CurrentCell.ColumnIndex].Name.Equals("Description")) {
- string Description = ((DataRowView) editGridCellComboBox.SelectedItem).Row["Description"].ToString();
- string Type = ((DataRowView) editGridCellComboBox.SelectedItem).Row["Type"].ToString();
- }
- if (dgv.Columns[dgv.CurrentCell.ColumnIndex].Name.Equals("PaidWith")) {
- string PaidWith = ((DataRowView) editGridCellComboBox.SelectedItem).Row["PaidWith"].ToString();
- string Code = ((DataRowView) editGridCellComboBox.SelectedItem).Row["Code"].ToString();
- }
- editGridCellComboBox.SelectedIndexChanged += editGridCellComboBox_SelectedIndexChanged;
- }
- }
- dgv.BeginEdit(false);
- editGridCellComboBox.DropDownHeight = 170;
- editGridCellComboBox.DroppedDown = true;

kalu singh raoPosted Jul 27, 2016, 1:47 AM
Nice share
Ritesh SinghPosted Jul 26, 2016, 8:09 AM
Good
Anu VPosted Jul 26, 2016, 7:32 AM
Nice