- C# code
System.Data.SqlClient.SqlDataAdapter da = new System.Data.SqlClient.SqlDataAdapter(cmd); DataSet ds = new DataSet(); da.Fill(ds); dataGridView1.DataSource = ds.Tables[0]; //执行到这一句发生以下错误
指定的参数已超出有效值的范围。
参数名: rowIndex
奇怪的是这个错误用Try捕获不到。调试时,如果我在dataGridView1.DataSource = ds.Tables[0]上设置断点,直接继续,不会发生错误。
有谁遇到过?帮帮忙。
------解决方案--------------------
这个rowIndex指的是DataGridView当中的Rows的Index,越界的可能有两种,一种是这个rowIndex在某个时机小于0,另一种是rowIndex大于等于DataGridView.RowCount。因此,不知道你除了设置DataGridView的DataSource属性以为,还设置了哪些属性?从StackTrace来看,不是你的程序出错,是设置给DataGridView的DataTable比较特殊,Table的Rows跟DataGridView绘制过程时候不一致造成的。我很感兴趣。
------解决方案--------------------
NET环境下的未处理异常(unhandled exception )的解决方案