今天遇到一个奇怪的问题,WinForm DataGridView表格中,有些单元格明明已经输入了内容,但获取值的时候都是null。
经过一番测试,发现只要输入的是数字10,Cell.Value就是null,其他内容正常。
为什么偏偏是输入数字10会让单元格的Value变成null?
测试了两个多小时,无果。网上找了一圈,也没有找到答案。
难道是Visual Studio的一个bug? 打开另外一个项目,新建了一个相同 DataGridView试了试,没有这个问题。
那么可以肯定,是当前这个DataGridView的某个属性设置,导致了输入10就变null的问题。
经过一番检查,总算找到了问题所在:
DataGridView的RowDefaultCellStyle属性中,有个NullValue,很久以前被我设置成了10(当时想当然地认为NullValue是默认值的意思),导致现在只要输入10,单元格的值就为null。把NullValue的属性值清空即可。
问题解决。
原来是自己把自己坑了,难怪网上完全搜不到这个话题。