在使用DataGridView绑定数据源时,显示的表格都会自动多一行,因此该控件的RowCount属性或者dtGridView.Rows.Count属性的值是“数据源表格中行数+1”,所以很容易在循环使用DataGridView的数据时出错。比如:for(int i=0;i<dtGridView.RowCount;i++) { for(int j=0;j<dtGridView.ColumnCount;j++) { String []strs=dtGridView[j,i].Value.ToString(); //由于RowCount比实际的行数多一,所以当i=RowCount-1时,这一行的值都是null,所以此时会引发“未将对象引用设置到对象的实例”错误。正确的做法就是把最外层循环的条件改成:i<dtGridView.RowCount-1 } }
很容易就会忽略掉这个问题,需吃一堑长一智~