internal void CreateColumns(ComboBoxColumnCollection columns)
        {
            this.Content.Columns.Clear();
            foreach (ComboBoxColumn column in columns)
            {
                DataGridViewTextBoxColumn col = new DataGridViewTextBoxColumn();
                col.HeaderText       = column.Caption;
                col.DataPropertyName = column.FieldName;
                if (column.AutoSize)
                {
                    col.AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill;
                }
                col.Width        = column.Width;
                col.MinimumWidth = column.Width;

                DataGridViewCellStyle cellStyle = new DataGridViewCellStyle();
                cellStyle.Format = column.FormatString;
                if (column.Alignment == ComboBoxColumnAlignment.Center)
                {
                    cellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;
                }
                else if (column.Alignment == ComboBoxColumnAlignment.Right)
                {
                    cellStyle.Alignment = DataGridViewContentAlignment.MiddleRight;
                }
                else if (column.Alignment == ComboBoxColumnAlignment.Left)
                {
                    cellStyle.Alignment = DataGridViewContentAlignment.MiddleLeft;
                }

                col.DefaultCellStyle = cellStyle;
                col.Visible          = column.Visible;
                this.Content.Columns.Add(col);
            }
        }
 public ComboBoxMultiColumns()
 {
     base.DropDownHeight     = 100;
     base.DropDownWidth      = 100;
     this.dropDownItemHeight = 24;
     this.dropDownRows       = 8;
     this.hotTrackItems      = true;
     this.PopupSizeable      = true;
     this.ShowHeaders        = true;
     this.dropDown           = new Popup(this);
     this.columns            = new ComboBoxColumnCollection(this);
 }