The first suggestion was to set the DaatSource = null and then reset
it after flipping the bool values.
this.dataGridView1.DataSource = null;
this.dataGridView1.DataSource = dt;
But the call to AcceptChanges is probably a better work-around.
Here is a FAQ link that shows how you can freeze the painting of any
control. The code sets up a FreezePainting property that you can turn
off/on. To use it with a control, you can derive the control class and
add this property to the derived class.