示例#1
0
        /// <summary>
        /// Добавить кнопку удаления в сплывающее меню
        /// </summary>
        private void DeleteButtonInPopupMenu()
        {
            if (!OptionsCustomization.AllowDelete)
            {
                //                var item = CustomPopupMenu.ItemLinks
                //                    .OfType<BarButtonItemLink>()
                //                    .FirstOrDefault(l => l.Item == ButtonRemove);
                //                if (item != null)
                //                    CustomPopupMenu.ItemLinks.Remove(item);
                ButtonRemove.Enabled = false;
                return;
            }
            var erg = new EventRowHandlerArgs(InvalidRowHandle);

            DoCheckDeleteRow.Raise(this, erg);
            if (erg.Cancel)
            {
                return;
            }
            if (ButtonRemove.Links.Count == 0)
            {
                CustomPopupMenu.ItemLinks.Add(ButtonRemove);
            }
            ButtonRemove.Enabled = SelectedRowsCount != 0;
        }
示例#2
0
        /// <summary>
        /// Проверка таблицы на возможность удаления данных и удаление выделенных строк
        /// </summary>
        public void RemoveRowsButtonClick()
        {
            if (!OptionsCustomization.AllowDelete || State != GridState.Normal)
            {
                return;
            }
            var erg = new EventRowHandlerArgs(InvalidRowHandle);

            DoCheckDeleteRow.Raise(this, erg);
            if (erg.Cancel)
            {
                return;
            }
            if (OptionsCustomization.AllowSelectionColumn && SelectedRowsCount == 0)
            {
                MessageWindow.GetInstance("Выберите записи, которые хотите удалить", MessageType.Info);
                return;
            }
            if (XtraMessageBox.Show(MsgDelete, "Удаление данных",
                                    MessageBoxButtons.YesNo, MessageBoxIcon.Question) != DialogResult.Yes)
            {
                return;
            }
            var data = GetSelectedObjectRows();

            if (DoBeforeDeleteRow != null && !DoBeforeDeleteRow(data))
            {
                return;
            }
            if (OptionsCustomization.AllowSelectionColumn)
            {
                DeleteSelectedRows();
            }
            else
            {
                DeleteRow(FocusedRowHandle);
            }
            if (DoAfterDeleteRow != null)
            {
                DoAfterDeleteRow(data);
            }
            else
            {
                var form = GridControl.FindForm() as CommonChildForm;
                if (form != null && form.CheckDBContext(data))
                {
                    form.DeleteFromDBContext(data);
                }
            }
        }