DotNet · 2022年5月26日

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; }
DataGridView的BUG,一开始绑定不为Null,但Count为0的数据源后,再进行有数据的数据源绑定,就会出现这个错误

最新电影,电视剧,尽在午夜剧场

电影电视剧午夜不寂寞