Exemple #1
0
        public static void ColumnBestFitToMaxWidth(this GridBand band)
        {
            if (band.Columns.Count == 0)
            {
                return;
            }
            var newColumnWidth = band.GetMaxColumnWidth(10);

            if (newColumnWidth.HasValue)
            {
                var needsResize = band.NeedsResize(newColumnWidth.Value);

                if (needsResize)
                {
                    // Gem. DX: zuerst grid Width setzen, dann alle Cols ausser der letzten, KEIN Begin/End Update machen
                    var gridColumnsInRow0 = band.GetNumberOfVisibleColumnsInRow(0);
                    var newBandWidth      = gridColumnsInRow0.Count() * newColumnWidth.Value;
                    band.Resize(newBandWidth);
                    ResizeAllColumnsButLast(gridColumnsInRow0, newColumnWidth.Value);

                    var gridColumnsInRow1 = band.GetNumberOfVisibleColumnsInRow(1);
                    ResizeAllColumnsButLast(gridColumnsInRow1, newColumnWidth.Value);
                }
            }
        }