DataGridView控件绑定数据后,点击任何一行,就显示“Index -1 does not have a value”索引异常 中文为:索引 -1 没有值。
DataGridView控件绑定数据后,并在此数据源中加入一行,再重新绑定数据源,点击任何一行,就显示“Index -1 does not have a value”索引异常
中文为:索引 -1 没有值。
我的解决方案
由于当前DataGridview没有加入任何事件响应,所以肯定是内部代码的异常,
由于绑定的数据源对像属于共用对像,可能是后台数据源跟踪代码有问题,导致用户点击某一行时,行数跟踪代码异常
异常代码:
xDataGridView.DataSource = My.mConnectionManager.mDataIndexs
修改后代码:
xDataGridView.DataSource = My.mConnectionManager.mDataIndexs.ToArray()
(这个是在初始化绑定的时候先判断列表的count是否大于0,大于0了再绑定)
if (dataSource != null && dataSource.Count > 0) { dataGridView1.DataSource = dataSource; }
if (dataSource != null && dataSource.Count > 0) { dataGridView1.DataSource = dataSource; }
DataGridView的BUG,一开始绑定不为Null,但Count为0的数据源后,再进行有数据的数据源绑定,就会出现这个错误