C# 如何检查DataGridView中是否存在单元格?

C# 如何检查DataGridView中是否存在单元格?,c#,datagridview,C#,Datagridview,我有一个静态方法来检查给定列的和。我在事件RowsAdded上使用它,但我得到以下错误: System.NullReferenceException was unhandled Message=Object reference not set to an instance of an object. 这是我的密码,请告诉我哪里错了 public static decimal datagSum(DataGridView dgv, string colName) { int i = dgv

我有一个静态方法来检查给定列的和。我在事件
RowsAdded
上使用它,但我得到以下错误:

System.NullReferenceException was unhandled
Message=Object reference not set to an instance of an object.
这是我的密码,请告诉我哪里错了

public static decimal datagSum(DataGridView dgv, string colName)
{
    int i = dgv.RowCount - 1, j = 0;
    decimal dgvSum = 0;
    decimal k = 0;
    while (j < i)
    {
        if (dgv.Rows[(i - 1)].Cells.Count > 3)
        {

            if (decimal.TryParse(dgv.Rows[(i - 1)].Cells[colName].Value.ToString(), out k))
            {
                dgvSum += k;
            }
            j++;

        }
    }
    return dgvSum;
}
publicstaticdecimaldatagsum(DataGridView-dgv,stringcolname)
{
inti=dgv.RowCount-1,j=0;
十进制dgvSum=0;
十进制k=0;
而(j3)
{
if(decimal.TryParse(dgv.Rows[(i-1)].Cells[colName].Value.ToString(),out k))
{
dgvSum+=k;
}
j++;
}
}
返回dgvSum;
}
代码片段

if (dataGridView1.Columns[e.ColumnIndex].Name == "CompanyName")
   {
       if (String.IsNullOrEmpty(e.FormattedValue.ToString()))
       {
           dataGridView1.Rows[e.RowIndex].ErrorText =
               "Company Name must not be empty";
           e.Cancel = true;
       }
   }

如果您在开始时只输入一个断点,并将鼠标悬停在每个变量上,您就可以检查出现此异常时哪个部分为空,它没有给您行号吗?@GovindaRajbhar:您尝试改进其他人的帖子很好,但是在编辑帖子时,花点时间来确保你已经解决了所有的格式问题,以及确保明显的拼写/语法/标点错误(例如“i”而不是“i”)得到了纠正,这将有助于确保其他人不必在第一时间就修改文章。谢谢谢谢你的建议。