示例#1
0
        /// <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);
            }
        }
示例#2
0
 /// <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();
     }
 }