The new sizes are automatically calculated to display all cell contents without clipping.

When automatic sizing is disabled, you can programmatically set the exact width or height of rows, columns, or headers through the following properties: These methods will resize rows, columns, or headers once rather than configuring them for continuous resizing.

I've tried all the suggestions, some of them very bizarre, but I still can't get the Data Grid View to update at the time the user clicks on the checkbox. Then place the following code in the Current Cell Dirty State Chang The problem was with the code on the right side of the equals sign: Me.dgv(Me. As soon as the user clicks on a checkbox cell, the string is updated immediately & the values of other checkbox cells are changed appropriately.

I thought Microsoft's help screen for the Current Cell Dirty State Changed event was weak.

For maximum performance, use programmatic resizing instead so that you can resize at specific times, such as immediately after new data is loaded.

To avoid performance penalties, use the automatic sizing modes that calculate sizes based only on the displayed rows rather than analyzing every row in the control.

Every now and then cell values of Data Grid View have to be validated.

We could use Cell Validating and Cell End Edit events to accomplish this.

Programmatic content-based resizing affects rows, columns, and headers regardless of their visibility.

Automatic sizing does not occur when visibility changes, so changing the column Visible property back to true will not force it to recalculate its size based on its current contents.

With these values, you can limit which cells are used to calculate the preferred sizes.

The enumerations used by sizing properties and methods have similar values for content-based sizing.

However, the Data Grid View is always one click behind.