在C#中读取DatagridView中的空单元格

时间:2013-12-11 08:49:39

标签: c#

我有一个包含2列的datagridview。第1列可以具有随机填充的细胞。我想运行一个代码来读取所有单元格我试过这段代码

for (int i = 0; i < (dataGridView1.Rows.Count - 1); i++)
{
    for (int j = 0; j < dataGridView1.Columns.Count; j++)
    {
        if (this.dataGridView1.Rows[i].Cells[0] != null 
            && this.dataGridView1.Rows[i].Cells[1] != null)
        {
            str1 = this.dataGridView1.Rows[i].Cells[0].Value.ToString();
            str2 = this.dataGridView1.Rows[i++].Cells[0].Value.ToString();
            if (str1 != str2)
            {//Some code will be here}` 
            .....

但是在读取任何空单元后循环终止。

1 个答案:

答案 0 :(得分:0)

for (int i = 0; i < (dataGridView1.Rows.Count - 1); i++)
{
 if (this.dataGridView1.Rows[i].Cells[0] != null  && this.dataGridView1.Rows[i].Cells[1] !=null)
  {
   for (int j = 0; j < dataGridView1.Columns.Count; j++)
     {
     if(this.dataGridView1.Rows[i].Cells[0].Value != null)
      {
     str1 = this.dataGridView1.Rows[i].Cells[0].Value.ToString();
      }
     if(str2 = this.dataGridView1.Rows[i++].Cells[0].Value != null)
     {
     str2 = this.dataGridView1.Rows[i++].Cells[0].Value.ToString();
     }
     if (str1 != str2)
     {//Some code will be here
     }//if condition end
    }//if condition end 
  }//for loop end 
 }//for loop end

如果要检查并指定单元格中的任何值,则要检查null,如果它不为null,则只能将其转换为字符串。如果您尝试使用.ToString()将空值转换为字符串,则会引发异常。

以上代码已修改,请尝试删除网格视图内容中的重复项