Я сделал код для текстового поля в DataGridView с обработчиком событий.
Проблема заключается в том, что, когда я щелкаю другую ячейку с другим значением, задний цвет ячейки становится черным.
например: у меня есть эти данные в DataGridView1 10002 20003 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]
}
}