BindingSource bs = dataGridView1.DataSource as BindingSource;
if (bs == null) { return;}
DataTable dt = bs.DataSource as DataTable;
if (dt == null) { return;}
DataTable dtchange = dt.GetChanges();
if (dtchange == null) { return; }
DataTable dtUpdate = dtchange.GetChanges(DataRowState.Modified);
if (dtUpdate == null) { return; }
多加些判断吧亲,写代码其实逻辑都不复杂,关键是健壮性