Hi,
To find out the selected values of combo box , must register the DataGridViewComboBoxColumn in Editing Mode and then add the ComBox selected index event to access the values.
1. CellEnter event.
private void dGridAddDocuments_CellEnter(object sender, DataGridViewCellEventArgs e)
{
//For example column 1 and 2 are comboBox columns
if ((e.ColumnIndex == 1 || e.ColumnIndex == 2) && dGridAddDocuments.SelectedRows.Count > 0)
{
try
{
dGridAddDocuments.BeginEdit(true);
DataGridViewCell dc = dGridAddDocuments.SelectedRows[0].Cells[e.ColumnIndex];
dGridAddDocuments.ReadOnly = false;
dGridAddDocuments.CurrentCell = dc;
dGridAddDocuments.BeginEdit(true);
}
catch (System.Exception ex)
{
throw ex;
}
}
}
2. EditingControlShowing Event.
private void dGridAddDocuments_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e)
{
if (dGridAddDocuments.CurrentCell.ColumnIndex == 1 ||
dGridAddDocuments.CurrentCell.ColumnIndex == 2)
{
// Check box column
ComboBox cb = e.Control as ComboBox;
if (cb != null)
{
//// first remove event handler to keep from attaching multiple:
cb.SelectedIndexChanged -= new EventHandler(combo_SelectedIndexChanged);
//cb.SelectionChangeCommitted -= new EventHandler(combo_SelectionChangeCommitted);
//// now attach the event handler
cb.SelectedIndexChanged += new EventHandler(combo_SelectedIndexChanged);
//cb.SelectionChangeCommitted += new EventHandler(combo_SelectionChangeCommitted);
}
}
}
3.EndEdit Event of DagaGricView.
private void dGridAddDocuments_CellEndEdit(object sender, DataGridViewCellEventArgs e)
{
dGridAddDocuments.ReadOnly = true;
dGridAddDocuments.BeginEdit(false);
}
4. Combo Box selected Index Event.
private void combo_SelectedIndexChanged(object sender, EventArgs e)
{
DataGridViewComboBoxEditingControl combo = (DataGridViewComboBoxEditingControl)sender;
if (combo.SelectedItem == null)
return;
switch (dGridAddDocuments.CurrentCell.ColumnIndex)
{
case 1:
string strValue1 = combo.SelectedItem.ToString();
break;
case 2:
string strValue2 = combo.SelectedItem.ToString();
break;
}
}
Any Further information let me know.