dotnetpro.WPF.TableReport.ReportPresenter.GenerateColumns C# (CSharp) 메소드

GenerateColumns() 개인적인 메소드

private GenerateColumns ( ) : void
리턴 void
        private void GenerateColumns()
        {

            bool fixedWidthes = configuration.FixedColumnWidths;
            if (ColRanges.Count == 1 & configuration.FixedColumnWidths)
                fixedWidthes = false;

            double totalWidth = 0;
            double pagewidth = ticket.PageMediaSize.Width.Value - margins.Left - margins.Right;
            if (PageOrientation == 1)
                pagewidth = ticket.PageMediaSize.Height.Value - margins.Top - margins.Bottom;

            for (int i = CurrentRange.From; i <= CurrentRange.Until; i++)
            {

                System.Windows.Controls.ColumnDefinition oColTraffic = new System.Windows.Controls.ColumnDefinition(); ;
                System.Windows.Controls.ColumnDefinition oCol = new System.Windows.Controls.ColumnDefinition();

                double width = Columns[i].Width;

                totalWidth += width;

                if (fixedWidthes)
                {
                    if (i == CurrentRange.Until)
                        if (PageOrientation == 0)
                            width = ticket.PageMediaSize.Width.Value - margins.Left - margins.Right - totalWidth + width;
                        else
                            width = ticket.PageMediaSize.Height.Value - margins.Left - margins.Right - totalWidth + width;

                    oCol.Width = new GridLength(width, GridUnitType.Pixel);
                }
                else
                    oCol.Width = new GridLength(width / 10, GridUnitType.Star);
                oTable.ColumnDefinitions.Add(oCol);
            }
        }