public override void Assign(PropertiesBase source)
        {
            BeginUpdate();
            try
            {
                base.Assign(source);


                if (source is ASPxGridViewCommandButtonSettings)
                {
                    Source.Assign(source);
                }


                var smartCommandButtonSettings = source as ASPxSmartGridViewCommandButtonSettings;

                if (smartCommandButtonSettings == null)
                {
                    return;
                }

                UpdateButton.Assign(smartCommandButtonSettings.UpdateButton);
                CancelButton.Assign(smartCommandButtonSettings.CancelButton);
                NewButton.Assign(smartCommandButtonSettings.NewButton);
                EditButton.Assign(smartCommandButtonSettings.EditButton);
                ViewButton.Assign(smartCommandButtonSettings.ViewButton);
                DeleteButton.Assign(smartCommandButtonSettings.DeleteButton);
                SelectButton.Assign(smartCommandButtonSettings.SelectButton);
                ApplyFilterButton.Assign(smartCommandButtonSettings.ApplyFilterButton);
                ClearFilterButton.Assign(smartCommandButtonSettings.ClearFilterButton);
                ExpandCollapseAllButtons.Assign(smartCommandButtonSettings.ExpandCollapseAllButtons);
            }
            finally
            {
                EndUpdate();
            }
        }