有时DataGridView上的单元格是可以编辑的,或者DataGridView某一列是ComboBox、CheckBox,这时用户在编辑完信息而没有点击任何别的地方(点击别的地方就不会出现以下问题),直接点击保存按钮(只要是需要获取DataGridView当前各个单元格信息的操作),当前已更改的编辑项将不能获取到,只有让DataGridView处在停止编辑并且接受到当前所有可编辑单元格的内容时,才能正确保存当前所有信息。这个“停止编辑并且接受到当前所有可编辑单元格的内容”的功能就是下面两行代码。
dataGridView1.CommitEdit((DataGridViewDataErrorContexts)123);
dataGridView1.BindingContext[dataGridView1.DataSource].EndCurrentEdit();