I am facing some strange issue in datagridview.I have datagridview with ComboBox Column.I have used datagridviewv_EditingControlShowing event and then use GridCombo_SelectedIndexChanged event.First time when i select some Disply Member from Combobox there is no issue.But after that Its color change like Black & Blue.So Display Members not showing.Please check screenshot for more details.
private void datagridview_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e)
{
if (e.Control is TextBox)
{
TextBox tb = e.Control as TextBox;
if (flgCellEdit == true)
{
tb.KeyPress += new KeyPressEventHandler(NumericValidation_KeyPress);
//tb.Leave += new EventHandler(GridTextBox_LeaveEvent);
}
else
{
tb.KeyPress += new KeyPressEventHandler(NumericValidationCancel_KeyPress);
}
}
if (e.Control is ComboBox)
{
ComboBox comboBox = e.Control as ComboBox;
switch ((sender as DataGridView).Name)
{
case "dgvIPO":
comboBox.SelectedIndexChanged += new EventHandler(GridCombo_SelectedIndexChanged);
break;
}
}
} private void GridCombo_SelectedIndexChanged(object sender, EventArgs e)
{
DataGridView dgv = (sender as DataGridViewComboBoxEditingControl).EditingControlDataGridView as DataGridView;
DataGridViewRow dgvr = dgv.Rows[(sender as DataGridViewComboBoxEditingControl).EditingControlRowIndex];
switch (dgv.Name)
{
case "dgvIPO":
if (dgvr.Cells[5].EditedFormattedValue.ToString() == "N" && dgvr.Cells[6].EditedFormattedValue.ToString() == "N" && dgvr.Cells[7].EditedFormattedValue.ToString() == "N" && dgvr.Cells[8].EditedFormattedValue.ToString() == "N" && dgvr.Cells[9].EditedFormattedValue.ToString() == "N")
{
dgvr.Cells[10].Value = "Complies";
}
else
{
dgvr.Cells[10].Value = "Non Complies";
}
txtAcceptedQtySt1.Text = dgvIPO.Rows.Cast<DataGridViewRow>().Where(r => r.Cells[10].EditedFormattedValue.ToString() == "Complies").Count().ToString();
break;
}
}`