int width = this.glc.Grid.Model.ColWidths.GetTotal(0,this.glc.Grid.Model.ColCount);to see if that will give you the size you need. You might need to turn off the FillRightColumn property as this may conflict with trying to explicilty size things.
int sbWidth = grid.VScroll ? SystemInformation.VerticalScrollBarWidth : 0; int width = grid.ColWidths.GetTotal(0, grid.ColCount)+2; if (width < grid.Width-sbWidth) grid.ColWidths[grid.ColCount] += grid.Width-sbWidth-width;sbWidth is the scrollbar width, width is the sum of the colwidths with a +2 fudge factor (for borders). This +2 might be what the previous code was missing. The if statement hadles the case when the sum of the columns is less than teh client width. In that case it makes teh right column the exact size to fill the client width.