The actual available width without scrollbar is begin calculated based on the CellWrapper rectangle which can be retrieved with GetCellWrapper. You will have to calculate the DefaultColumnWidth twice, since the first time, it is based on an active scrollbar and afterwards the scrollbar is being set to visible because the total width of the cells do not exceed the grid boundaries.