C# 我想检查在Data gridview中输入的值是否已经存在?
我正在尝试验证我的datagridview。当我在一行中添加了一些数据,并且在另一行中输入了一些数据时,它应该会显示一条消息。 我正在尝试以下代码。引发空异常错误。 因为特定单元格中的值为空。 它无法获取值C# 我想检查在Data gridview中输入的值是否已经存在?,c#,gridview,datagridview,C#,Gridview,Datagridview,我正在尝试验证我的datagridview。当我在一行中添加了一些数据,并且在另一行中输入了一些数据时,它应该会显示一条消息。 我正在尝试以下代码。引发空异常错误。 因为特定单元格中的值为空。 它无法获取值 private void dataGridViewBrandDetails_CellLeave(object sender, DataGridViewCellEventArgs e) { if (e.ColumnIndex == 0 &
private void dataGridViewBrandDetails_CellLeave(object sender, DataGridViewCellEventArgs e)
{
if (e.ColumnIndex == 0 && e.RowIndex > -1)
{
var dgv = sender as DataGridView;
for (int i = 0; i < dataGridViewBrandDetails.Rows.Count; i++)
{
string s = dgv[e.ColumnIndex, e.RowIndex].Value.ToString();
if (dataGridViewBrandDetails.Rows[i].Cells[0].Value != null && dataGridViewBrandDetails.Rows[e.RowIndex].Cells[0].Value.ToString() == dataGridViewBrandDetails.Rows[i].Cells[0].Value.ToString())
{
MessageBox.Show("The value already existed in DataGridView.");
}
}
}
}
private void dataGridViewBrandDetails\u CellLeave(对象发送方,DataGridViewCellEventArgs e)
{
如果(e.ColumnIndex==0&&e.RowIndex>-1)
{
var dgv=作为DataGridView的发送方;
对于(int i=0;i
改变几件事:
private void dataGridViewBrandDetails_CellLeave(object sender, DataGridViewCellEventArgs e)
{
if (e.ColumnIndex == 0 && e.RowIndex > -1)
{
var dgv = sender as DataGridView;
string s = dgv.Rows[e.RowIndex].Cells[e.ColumnIndex].Value.ToString();
for (int i = 0; i < dataGridViewBrandDetails.Rows.Count; i++)
{
if(i!=e.RowIndex) // To skip the row with newly inserted value
{
if (dataGridViewBrandDetails.Rows[i].Cells[0] != null && dataGridViewBrandDetails.Rows[i].Cells[0].Value.ToString() == s
{
MessageBox.Show("The value already existed in DataGridView.");
}
}
}
}
}
private void dataGridViewBrandDetails\u CellLeave(对象发送方,DataGridViewCellEventArgs e)
{
如果(e.ColumnIndex==0&&e.RowIndex>-1)
{
var dgv=作为DataGridView的发送方;
字符串s=dgv.Rows[e.RowIndex]。单元格[e.ColumnIndex]。Value.ToString();
对于(int i=0;i
我保持了你的代码的原样,只做了很少的更改。尽管你可能想做的更改很少。
第一:如果第一行是标题行,而不是有值的行,则将i=1。
第二:如果第0列的行包含控件,您应该将它们强制转换为control,然后读取它们的值。在带有字符串s的行中。.值为null我不知道y