试试这样写
If e.NewRange.RowSel <> e.OldRange.RowSel Then
If e.Table.Current.DataRow.RowState = DataRowState.Added Then
For Each c As Col In e.Table.Cols
If e.Table.Current.IsNull(c.Name) = False Then
e.Cancel=True
MessageBox.Show("当前行数据已被修改 请先保存数据再换行", "提示", MessageBoxButtons.OK, MessageBoxIcon.Question)
End If
Next
Else If e.Table.Current.DataRow.RowState <> DataRowState.Unchanged Then
e.Cancel=True
MessageBox.Show("当前行数据已被修改 请先保存数据再换行", "提示", MessageBoxButtons.OK, MessageBoxIcon.Question)
End If
End If