Habanero.Faces.Win.GridBaseWin.DetermineRequiredColumnWidths C# (CSharp) Method

DetermineRequiredColumnWidths() private method

private DetermineRequiredColumnWidths ( List requiredWidths, int columnCount ) : void
requiredWidths List
columnCount int
return void
        private void DetermineRequiredColumnWidths(List<int> requiredWidths, int columnCount)
        {
            var padding = this.ColumnAutoSizingPadding;
            using (var gfx = this.CreateGraphics())
            {
                foreach (DataGridViewRowWin row in this.Rows)
                {
                    for (var i = 0; i < columnCount; i++)
                    {
                        if (requiredWidths[i] < 0) continue;
                        var value = (row.Cells[i].Value == null) ? "" : row.Cells[i].Value.ToString();
                        var size = gfx.MeasureString(value, this.Font);
                        var requiredWidth = size.Width + padding;
                        if (requiredWidth > requiredWidths[i])
                            requiredWidths[i] = (int) Math.Ceiling((decimal) requiredWidth);
                    }
                }
            }
        }