Я сделал код для textbox в DataGridView с eventhandler.
Проблема в том, что когда я нажимаю на другую ячейку с другим значением, задний цвет ячейки становится черным.
например: у меня есть такие данные в DataGridView
1 1000
2 2000
3 2000
когда я щелкнул на 1000, все прошло хорошо. После этого я щелкнул на 2000, цвет заднего фона для текущей ячейки стал черным. Но после этого, если я щелкну на другой 2000, цвет заднего фона снова станет белым.
Таким образом, если значение в выделенной ячейке изменяется, то цвет заднего фона становится черным.
Может ли кто-нибудь помочь мне решить эту проблему?
Вот код для текстового поля.
private void dgvSJ_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e)
{
if (dgvSJ.CurrentCell.ColumnIndex == 10)
{
TextBox tx = e.Control as TextBox;
tx.TextChanged += new EventHandler(tx_TextChanging);
}
}
void tx_TextChanging(object sender, EventArgs e)
{
rowIndexCell = dgvSJ.CurrentRow.Index;
if (dgvSJ.Rows[rowIndexCell].Cells[10].EditedFormattedValue != null && dgvSJ.CurrentRow.Cells[10].EditedFormattedValue.ToString() != "")
{
dgvSJ.CurrentRow.Cells[10].Value = string.Format(GlobalVar.PriceFormat, Convert.ToDouble(dgvSJ.CurrentRow.Cells[10].EditedFormattedValue)); ![enter image description here][1]
}
}