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 46 47 48 49
|
private void datagridview_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e)
{
try
{
if (e.Control.GetType() == typeof(DataGridViewComboBoxEditingControl))
{
ComboBox comboCell = (ComboBox)e.Control ;
comboCell.SelectedIndexChanged -= new EventHandler(ComboBox_SelectedIndexChanged);
comboCell.BackColor = Color.White;
comboCell.SelectedIndexChanged += new EventHandler(ComboBox_SelectedIndexChanged);
}
else if (e.Control.GetType() == typeof(DataGridViewTextBoxEditingControl))
{
TextBox txbCell = (TextBox)e.Control;
txbCell.TextChanged -= new EventHandler(TextBox_TextChanged);
txbCell.TextChanged += new EventHandler(TextBox_TextChanged);
}
}
catch(Exception ex)
{
WinUtilsLib.Diagnostics.Log.WriteError(ex.InnerException + ex.Message + ex.Source + ex.StackTrace);
}
}
private void ComboBox_SelectedIndexChanged(object sender, EventArgs e)
{
try
{
if (((ComboBox)sender).SelectedItem != null && ((ComboBox)sender).SelectedIndex>0)
{
if (((DataGridViewColumn)datagridview.Columns[datagridview.SelectedCells[0].ColumnIndex]).Tag.ToString() == "#FirstChoice")
{
for (int i = 0; i < datagridview.RowCount; i++)
{
if (((DataGridViewComboBoxCell)datagridview.Rows[i].Cells[datagridview.SelectedCells[0].ColumnIndex]).Value == DBNull.Value)
{
(datagridview.Rows[i].Cells[datagridview.SelectedCells[0].ColumnIndex]).Value = ((ComboBox)sender).SelectedValue;
}
}
}
}
}
catch (Exception ex)
{
WinUtilsLib.Diagnostics.Log.WriteError(ex.InnerException + ex.Message + ex.Source + ex.StackTrace);
}
} |
Partager