我想制作一个简单的程序,防止文本框将重复数据输入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;
}
}
}
}
在使用i
之前,应该声明它。正如Jonathan Willcock所说,您只需要删除外部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绑定,请尝试将DataGridView的属性AllowUserToAddRows
设置为false
。
dgvRole.AllowUserToAddRows = false;