先简单描述下我对DataGridView的数据访问的机制以及事件触发的先后顺序的理解。
1、DataGridView后台应该对应一个二维数组;
2、当选中某个单元格后,根据ColumnType属性指定的DataGridViewColumn类型创建EditingControl,将当前单元格的值赋给EditingControl,同时触发CellBeginEdit事件;
3、当EditingControl.Text发生变化后,触发CurrentCellDirtyStateChanged事件,
4、如果在该事件中添加DataGridView.Commit()方法,将变化的内容提交到DataGridView后台对应的二维数组中,同时会触发CellValueChanged事件;
5、那么我们就可以在该事件中,实时对编辑的单元格内容进行校验。