我想更改序号写了这个循环,,结果每当调这个循环时都会发生这个错误!! 未处理的“System.StackOverflowException”类型的异常出现在 System.Windows.Forms.dll 中。,求教高手谢谢! 在线等!哪儿有错????? for (int i = 0; i < jaDataGridView1.Rows.Count; i++) {
知道了。这样, int nCount = jaDataGridView1.Rows.Count; for (int i = 0; i < nCount; i++) { jaDataGridView1.Rows[i].Cells["序号"].Value = i+1; }不要用属性做判断条件,属性内部谁知道他怎么实现的。
wuyazhe(熟悉:evc/.net正学习:Rational Rose 这个我也试过了,还是不行循环时 jaDataGridView1.Rows[i].Cells["序号"].Value 赋值时出现问题
int nCount = jaDataGridView1.Rows.Count-1; for (int i = 0; i < nCount; i++) { jaDataGridView1.Rows[i].Cells["序号"].Value = i+1; }还有,你可以用foreach啊。这个不会访问越界。也不用考虑访问到空对象。
我想更改序号写了这个循环,,结果每当调这个循环时都会发生这个错误!! 未处理的“System.StackOverflowException”类型的异常出现在 System.Windows.Forms.dll 中。,求教高手谢谢! 在线等!哪儿有错????? for (int i = 0; i < jaDataGridView1.Rows.Count; i++) {jaDataGridView1.Rows[i].Cells["序号"].Value = i+1; } ============================================== 楼主的上面代码应该是没有问题的, System.StackOverflowException错误明显是堆栈溢出,而不是索引超出为什么各位还在回答 for (int i = 0; i < jaDataGridView1.Rows.Count-1; i++),而且反而更错了。 由于没有看到楼主完整的代码,建议可能解决问题的方式为一下: 1.检查该段代码所在的方法或属性,单步调试是否存在无限递归导致堆栈溢出。 特别是使用属性方式不小心把属性名和字段名写成一样就会导致该问题,比如 public string UP { get{return UP;} } 2.不要通过更新DataGridView的单元格来操作列的显示,而是直接更新该控件绑定的数据源,比如DataView,DataTable。对其操作更健壮。
{
jaDataGridView1.Rows[i].Cells["序号"].Value = i+1;
}
for (int i = 0; i < jaDataGridView1.Rows.Count-1; i++),你看GridView的最下面有1个空行
请检查["序号"]列是否为只读
是只读的会怎么样呢信誉,,,??????????
{
jaDataGridView1.Rows[i].Cells["序号"].Value = i+1;
}
jaDataGridView1.Rows[i].Cells["序号"].Value = i+1;
就执行不了,因为是写。不过从你提示的错误来看,显然不是这个问题。
{
jaDataGridView1.Rows[i].Cells["序号"].Value = i+1;
}
C#里下标是从0开始的.
我想更改序号,,结果每当调这个循环时都会发生这个错误!!
未处理的“System.StackOverflowException”类型的异常出现在 System.Windows.Forms.dll 中 而且提示是死循环!!
int nCount = jaDataGridView1.Rows.Count;
for (int i = 0; i < nCount; i++)
{
jaDataGridView1.Rows[i].Cells["序号"].Value = i+1;
}不要用属性做判断条件,属性内部谁知道他怎么实现的。
这个我也试过了,还是不行循环时
jaDataGridView1.Rows[i].Cells["序号"].Value 赋值时出现问题
for (int i = 0; i < nCount; i++)
{
jaDataGridView1.Rows[i].Cells["序号"].Value = i+1;
}还有,你可以用foreach啊。这个不会访问越界。也不用考虑访问到空对象。
未处理的“System.StackOverflowException”类型的异常出现在 System.Windows.Forms.dll 中。,求教高手谢谢! 在线等!哪儿有错?????
for (int i = 0; i < jaDataGridView1.Rows.Count; i++)
{jaDataGridView1.Rows[i].Cells["序号"].Value = i+1;
}
==============================================
楼主的上面代码应该是没有问题的,
System.StackOverflowException错误明显是堆栈溢出,而不是索引超出为什么各位还在回答
for (int i = 0; i < jaDataGridView1.Rows.Count-1; i++),而且反而更错了。
由于没有看到楼主完整的代码,建议可能解决问题的方式为一下:
1.检查该段代码所在的方法或属性,单步调试是否存在无限递归导致堆栈溢出。
特别是使用属性方式不小心把属性名和字段名写成一样就会导致该问题,比如
public string UP
{
get{return UP;}
}
2.不要通过更新DataGridView的单元格来操作列的显示,而是直接更新该控件绑定的数据源,比如DataView,DataTable。对其操作更健壮。