C#中点击 dataGridview 表格,报错提示“索引-1没有值”的解决办法

首先出面这个错误,绝大多数的开发人员都是进行数据绑定之后出现的,而且出现的情况基本上都只得一种,就是开始绑定的数据集是非空的,但数据集的Count=0,在将这个非空的而元素个数为0的数据集绑定到DataGridView后,当更新DataGridView的数据源,即将一个元素个数大于0的数据集绑定给DataGridView后,DataGridView仍能正常显示,以上还是正常的,但问题就出在,当你用鼠标点击DataGridView后,“索引-1没有值”这个恼人的错误就会出现。

其实以上的文字基本上已经让你知道问题的所在,就是第一次绑定的“非空的且元素个数为0的数据集”,经运行时查看对象属性,由于只要数据集不为空,DataGirdView就必需指定当前单元格(CurrentCell),但“非空0元数数据集”的CurrentCell是为null,致使后来更新数据集后,这个CurrentCell仍不会变,因为你的数据集没有改变,只是数据集的数目改变了,所以CurrentCell不变,所以当你点击鼠标进去后,返回的当前行就出错了!

解决的方法很简单需要检查代码,绑定数据集时,判断数据集是否为空,是否元素个数大于0,如果符合条件的才将数据集绑定否则直接给绑定一个空值如下图代码;
在这里插入图片描述

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值