private void RecountColumnWidths() { _columnSizes.Clear(); SetExtraordinaryRealColumns(); if (_drawBuffer == null) { return; } if (GridScrollAreaWidth > 16) { if (_columnSizes.MaxSize.HasValue && GridScrollAreaWidth - 16 < _columnSizes.MaxSize) { _columnSizes.MaxSize = GridScrollAreaWidth - 16; } } if (IsWide) { return; } if (_model == null) { return; } int rowCount = _isTransposed ? _modelColumnCount : _modelRowCount; int colCount = _isTransposed ? _modelRowCount : _modelColumnCount; for (int col = 0; col < colCount; col++) { var cell = _isTransposed ? _model.GetRowHeader(this, col) : _model.GetColumnHeader(this, col); _columnSizes.PutSizeOverride(col, GetCellContentWidth(cell) + 2 * CellPaddingHorizontal); } int visRows = VisibleRowCount; int row0 = FirstVisibleRowScrollIndex + _rowSizes.FrozenCount; for (int row = row0; row < Math.Min(row0 + visRows, rowCount); row++) { for (int col = 0; col < colCount; col++) { var cell = _isTransposed ? _model.GetCell(this, col, row) : _model.GetCell(this, row, col); _columnSizes.PutSizeOverride(col, GetCellContentWidth(cell, _columnSizes.MaxSize) + 2 * CellPaddingHorizontal); } } _columnSizes.BuildIndex(); }
private void RecountRowHeights() { _rowSizes.Clear(); SetExtraordinaryRealRows(); if (_drawBuffer == null) { return; } if (GridScrollAreaHeight > 16) { _rowSizes.MaxSize = GridScrollAreaHeight - 16; } CountVisibleRowHeights(); }