public override object Clone()
        {
            ListComboBoxDataGridViewColumn column = (ListComboBoxDataGridViewColumn)base.Clone();

            column.AddElements(SL);
            column.DescriptionColumn = DescriptionColumn;
            column.DropDownStyle     = DropDownStyle;
            return(column);
        }
        public override void InitializeEditingControl(int rowIndex, object
                                                      initialFormattedValue, DataGridViewCellStyle dataGridViewCellStyle)
        {
            ListComboBoxDataGridViewControl ctl =
                DataGridView.EditingControl as ListComboBoxDataGridViewControl;

            DataGridViewColumn dgvc = this.OwningColumn;

            if (dgvc is ListComboBoxDataGridViewColumn)
            {
                ListComboBoxDataGridViewColumn rtvc = dgvc as ListComboBoxDataGridViewColumn;
                ctl.Clear();
                ctl.AddElements(rtvc.SL);
                ctl.DescriptionColumn = rtvc.DescriptionColumn;
                ctl.DropDownStyle     = rtvc.DropDownStyle;
                ctl.RefreshButton();
            }
            ctl.Text = (initialFormattedValue is System.DBNull) ? string.Empty : (string)initialFormattedValue;

            // Set the value of the editing control to the current cell value.
            base.InitializeEditingControl(rowIndex, initialFormattedValue,
                                          dataGridViewCellStyle);
        }