#c# #visual-studio #exception #error-handling
#c# #visual-studio #исключение #обработка ошибок
Вопрос:
я хотел бы создать простую программу, которая не позволяет текстовому полю вводить повторяющиеся данные в DataGridView
private void cekId(Kelola kel1)
{
if (txtId.Text == dgvRole.Rows[i].Cells[0].Value.ToString())
{
for (int i = 0; i < dgvRole.Rows.Count; i )
{
if (txtId.Text == dgvRole.Rows[i].Cells[0].Value.ToString())
{
MessageBox.Show("Data ID Yang Anda Masukkan Sudah Ada Di Dalam DataGrid");
return;
}
}
}
}
Комментарии:
1. Ваш первый оператор if ссылается на i, который не определен до цикла for . Просто удалите внешний if, и он должен запуститься.
Ответ №1:
Перед использованием i
оно должно быть объявлено. Итак, как сказал Джонатан Уиллкок, вам просто нужно удалить внешний if statement
.
Кроме того, необходимо проверить, является ли последняя строка пустой.
Если вы добавляете данные в DataGridView вручную, измените код следующим образом.
for (int i = 0; i < dgvRole.Rows.Count - 1; i )
{
if (txtId == dgvRole.Rows[i].Cells[0].Value.ToString())
{
MessageBox.Show("Data ID Yang Anda Masukkan Sudah Ada Di Dalam DataGrid");
return;
}
}
Если привязать DataGridView к DataSource, попробуйте установить свойство AllowUserToAddRows
DataGridView false
равным .
dgvRole.AllowUserToAddRows = false;