/// <summary> /// Добавить кнопку добавления в сплывающее меню /// </summary> private void AddButtonInPopupMenu() { if (!OptionsCustomization.AllowAdd) { ButtonAddRow.Enabled = false; // var item = CustomPopupMenu.ItemLinks // .OfType<BarButtonItemLink>() // .FirstOrDefault(l => l.Item == ButtonRemove); // if(item != null) // CustomPopupMenu.ItemLinks.Remove(item); return; } var erg = new EventRowHandlerArgs(InvalidRowHandle); DoCheckAddRow.Raise(this, erg); if (erg.Cancel) { return; } if (OptionsCustomization.AllowAdd && ButtonAddRow.Links.Count == 0) { CustomPopupMenu.ItemLinks.Add(ButtonAddRow); } }
/// <summary> /// Проверка таблицы на возможность добавления данных и добавление новой строки /// </summary> public void AddRowButtonClick() { if (!OptionsCustomization.AllowAdd) { return; } try { //BeginDataUpdate(); var erg = new EventRowHandlerArgs(InvalidRowHandle); DoCheckAddRow.Raise(this, erg); if (erg.Cancel) { return; } erg = new EventRowHandlerArgs(InvalidRowHandle); DoBeforeAddRow.Raise(this, erg); if (erg.Cancel) { return; } object item = null; if (DoInsteadAddRow != null) { item = DoInsteadAddRow(); } else { var bs = DataSource as BindingSource; if (bs != null) { item = bs.AddNew(); } else { AddNewRow(); } } if (DoAfterAddRow == null) { if (item == null || !item.GetType().FullName.Contains("ServerInformation")) { return; } var form = GridControl.FindForm() as CommonChildForm; if (form != null) { form.AddToDBContext(item); } return; } if (item != null) { DoAfterAddRow(item); return; } var rowHandle = GetRowHandle(DataRowCount); if (IsNewItemRow(rowHandle)) { DoAfterAddRow(GetRow(rowHandle)); } } finally { //EndDataUpdate(); } }