lllljz的专栏

Execution & Creativeness

dataGridView的未将对象引用设置到对象的实例

        这几天用到dataGridView的rowCount,用来做循环的上限值,结果老是出现“未将对象引用设置到对象的实例”这个错误。于是查找错误,想一想应该是出现了没有实例化的对象吧,上限值有错吗?当看到dataGridView最后一行是空行时,猜想不会把这行也算到行数了吧。于是在循环中改正,将限值减去1。即rowCount-1。废话少说看代码:

for (int i = 0; i < dataGridView1.RowCount;i++ )//循环到所有行,
                {
                    if(dataGridView1.Rows[i].Cells["MNo"].Value.ToString().Trim()=="")
                    {
                        continue;
                    }
                    else 
                    { 
                        using (SqlCommand scmd = sconn.CreateCommand())
                        { scmd.CommandText = "update Student set MNo='" + dataGridView1.Rows[i].Cells["MNo"].Value.ToString() + "'where No='" + dataGridView1.Rows[i].Cells["No"].Value.ToString() + "'";
                          int j=scmd.ExecuteNonQuery();
                          if (j<=0)
                          {
                              MessageBox.Show("机号未保存成功!");
                              break;
                          } 
                        } 
                    }
                }
        运行是有错误的,这是原先的代码,我们加以改正将限值改成RowCount-1,即:

for (int i = 0; i < dataGridView1.RowCount-1;i++ )
        错误没了 ^ ^!

        DataGridview在添加数据后,往往会自动添加一行空白行,以便于插入数据,因此RowCount多记了1行,那可不可以不让他自动添加空白行呢?

        那让我们来试试,点击DataGridview设计界面上右上角的那个小黑三角形,点开它。看到下面这个选择界面。


        把“启用添加”,前面的选项勾掉,再启动时,就没有空白行了。看看下图的效果。


        有空白行


        最后一行不是空白行

阅读更多
个人分类: C# C++
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

不良信息举报

dataGridView的未将对象引用设置到对象的实例

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭