У меня есть DataGridView, который имеет ячейки проверяющий событие так что пользователь должен заполнить ячейку в столбце [0], прежде чем оставить в этой ячейкеКак отключить событие временно
private void dataGridView1_CellValidating(object sender, DataGridViewCellValidatingEventArgs e)
{
if (string.IsNullOrWhiteSpace(dataGridView1.CurrentRow.Cells[0].FormattedValue.ToString()))
{
MessageBox.Show("Please fill this field");
e.Cancel = true;
}
}
Я хочу удалить строку с помощью кнопки, даже если все ячейки на том, что строка пуста, но каждый раз, когда я нажимаю DeleteRow_btn сообщения проверок показывает
private void DeleteRow_btn_Click(object sender, EventArgs e)
{
dataGridView1.Rows.RemoveAt(dataGridView1.CurrentRow.Index);
if (dataGridView1.Rows.Count < 1)
{
dataGridView1.Rows.Add();
}
}
я уже попробовать
private void DeleteRow_btn_Click(object sender, EventArgs e)
{
dataGridView1.CellValidating -= dataGridView1_CellValidating;
dataGridView1.Rows.RemoveAt(dataGridView1.CurrentRow.Index);
if (dataGridView1.Rows.Count < 1)
{
dataGridView1.Rows.Add();
}
dataGridView1.CellValidating += dataGridView1_CellValidating;
}
но это не работает, я знаю почему, но я не знаю, как это решить спасибо за ваше время, извините за мой английский так или иначе
Проверьте, установлен ли обработчик событий в нескольких местах. –
Добро пожаловать. Кроме того, поскольку вы новичок в StackOverflow, я хотел бы сообщить вам, что вы можете продвигать хорошие ответы и принимать ответ, который помог вам наиболее эффективно, установив отметку рядом с ответом. На этом сайте верхний или принятый ответ считается «спасибо». –